Cos'è String.intern() in Java?

Cos E String Intern In Java



In Java, il ' stagista() Il metodo ” viene utilizzato per garantire che se una grande quantità di stringhe memorizza i dati, le stringhe aventi lo stesso elemento condividano la stessa memoria. Questo metodo è molto utile per ridurre lo spazio di memoria del programma. Ad esempio, se hai un enorme elenco di nomi di dipendenti in cui il nome ' Jack ” appare dieci volte. IL ' stagista() ” assicurerà che il “ Jack ” occupa un solo spazio nella memoria.

Questo post discuterà l'utilizzo del metodo String.intern() in Java.







Cos'è String.intern() in Java?

IL ' stagista() Il metodo ” in Java viene utilizzato per restituire il riferimento all'oggetto stringa indicato. Tuttavia, se l'oggetto stringa esisteva con lo stesso contenuto/dati nel pool di stringhe, restituirà il riferimento della stringa precedente. Inoltre, se la stringa non esiste nel pool di stringhe, aggiungerà la nuova stringa e il suo riferimento al pool di stringhe.



Sintassi

Per utilizzare il metodo indicato, basta seguire la sintassi indicata di seguito:



Corda . stagista ( )

In questo esempio, discuteremo perché è necessario utilizzare il ' stagista() ” in Java quando la stringa viene creata in un heap utilizzando il metodo “ Corda() 'costruttore. Innanzitutto, viene creato un oggetto stringa utilizzando il ' Corda() 'costruttore. Successivamente, i dati per la stringa vengono passati come parametro a questo oggetto e memorizzati in una variabile:





Corda UN = nuovo Corda ( 'Benvenuto in Linuxhint.' ) ;

Un altro oggetto stringa viene creato seguendo la stessa procedura:

Corda B = nuovo Corda ( 'Benvenuto in Linuxhint' ) ;

Invocare il ' println()' e impostare 'a=b ” come argomento di questo metodo. Restituirà il risultato come falso perché ogni stringa ha il proprio spazio nella memoria:



Sistema . fuori . println ( UN == B ) ;

Si può notare che l'output dell'esempio sopra riportato restituisce false:

Esempio 1: metodo String.intern() per controllare gli oggetti stringa

In questo esempio, vengono creati due oggetti stringa utilizzando ' Corda() ” costruttore e una stringa viene passata al costruttore come argomento. Successivamente, invocare il ' stagista() ” metodo per ogni stringa e memorizza la prima stringa nella variabile “ UN ” e il secondo nel “ B ”. Verifica la condizione” a=b ” e usa il “ stampaln() ” per visualizzare il risultato:

Corda UN = nuovo Corda ( 'Benvenuto in Linuxhint' ) . stagista ( ) ;
Corda B = nuovo Corda ( 'Benvenuto in Linuxhint' ) . stagista ( ) ;
Sistema . fuori . println ( UN == B ) ;

Di conseguenza, restituisce il ' VERO ” valore perché il “ stagista() Il metodo ” garantisce che ogni stringa occupi spazio nella stessa memoria per memorizzare i dati della stringa:

Esempio 2: metodo String.intern() per controllare la stringa e l'oggetto stringa

In questo esempio dichiarato, vengono create e memorizzate varie stringhe nelle diverse variabili. A tale scopo, in primo luogo, una variabile viene inizializzata con un valore di stringa ' Linux ”:

Corda UN = 'Linux' ;

Utilizza il “ stagista() ” metodo accedendo alla stringa “ UN ” e memorizzarlo nella variabile “ B ”:

Corda B = UN. stagista ( ) ;

Un nuovo oggetto di tipo stringa viene creato con l'aiuto del ' Corda() ” costruttore e passa il “ Linux ” come parametro per questo costruttore. Quindi, memorizzalo nella variabile ' C ”:

Corda C = nuovo Corda ( 'Linux' ) ;

Invocare il ' stagista() ” metodo accedendo alla variabile “ C ” e memorizza il risultato in “ D ”:

Corda D = C. stagista ( ) ;

Ora, confronta queste stringhe create tra loro. A tale scopo, invocare il ' stampaln() ” metodo e passare il parametro in base al seguente frammento di codice:

Sistema . fuori . println ( UN == B ) ;
Sistema . fuori . println ( UN == C ) ;
Sistema . fuori . println ( UN == D ) ;
Sistema . fuori . println ( B == C ) ;
Sistema . fuori . println ( B == D ) ; Sistema . fuori . println ( C == D ) ;

L'output di ciascuna istruzione corrispondente viene stampato sulla console. Abbiamo mappato l'output con ogni istruzione:

Questo è tutto sul metodo string.intern() in Java.

Conclusione

IL ' String.intern() Il metodo ” in Java restituisce il riferimento all'oggetto stringa indicato. Tuttavia, se l'oggetto stringa esisteva con lo stesso contenuto/dati nel pool di stringhe, restituirà il riferimento della stringa precedente. Questo post ha indicato vari casi d'uso del metodo String.intern() in Java.