Wat is String.intern() in Java?

Wat Is String Intern In Java



Op Java is de “ intern() ” methode wordt gebruikt om ervoor te zorgen dat als een grote hoeveelheid string gegevens opslaat, strings met hetzelfde element hetzelfde geheugen delen. Deze methode is erg handig om de geheugenruimte voor het programma te verkleinen. Als u bijvoorbeeld een enorme lijst met namen van werknemers heeft waarbij de naam ' krik ” verschijnt tien keer. De ' intern() ” methode zorgt ervoor dat de “ krik ” neemt slechts één plek in het geheugen in beslag.

Dit bericht bespreekt het gebruik van de methode String.intern() in Java.







Wat is String.intern() in Java?

De ' intern() ” methode in Java wordt gebruikt voor het retourneren van de verwijzing naar het opgegeven tekenreeksobject. Als het tekenreeksobject echter bestond met dezelfde inhoud/gegevens in de tekenreekspool, retourneert het de verwijzing naar de vorige tekenreeks. Bovendien, als de string niet bestaat in de stringpool, wordt de nieuwe string en de verwijzing naar de stringpool toegevoegd.



Syntaxis

Om de vermelde methode te gebruiken, volgt u gewoon de onderstaande syntaxis:



Snaar . intern ( )

In dit voorbeeld zullen we bespreken waarom het nodig is om de ' intern() ' methode in Java wanneer de string in een heap wordt gemaakt met behulp van de ' Snaar() ” constructeur. Eerst wordt een tekenreeksobject gemaakt met behulp van de ' Snaar() ” constructeur. Daarna worden de gegevens voor de string als parameter doorgegeven aan dit object en opgeslagen in een variabele:





Snaar A = nieuw Snaar ( 'Welkom bij Linuxhint.' ) ;

Een ander tekenreeksobject wordt gemaakt door dezelfde procedure te volgen:

Snaar B = nieuw Snaar ( 'Welkom bij Linuxhint' ) ;

Roep de ' println()' methode en stel 'a=b ” als argument voor deze methode. Het retourneert het resultaat als false omdat elke string zijn eigen ruimte in het geheugen heeft:



Systeem . uit . println ( A == B ) ;

Het kan worden opgemerkt dat de uitvoer van het bovengenoemde voorbeeld false retourneert:

Voorbeeld 1: String.intern() Methode om stringobjecten te controleren

In dit voorbeeld worden twee tekenreeksobjecten gemaakt met behulp van de ' Snaar() ” constructor en een string wordt als argument aan de constructor doorgegeven. Roep vervolgens de ' intern() ' methode voor elke string en sla de eerste string op in variabele ' A ” en de tweede in de “ B ”. Controleer de staat “ een=b ” en gebruik de “ println() ” om het resultaat weer te geven:

Snaar A = nieuw Snaar ( 'Welkom bij Linuxhint' ) . intern ( ) ;
Snaar B = nieuw Snaar ( 'Welkom bij Linuxhint' ) . intern ( ) ;
Systeem . uit . println ( A == B ) ;

Als gevolg hiervan retourneert het de ' WAAR ” waarde omdat de “ intern() ” methode zorgt ervoor dat elke string ruimte inneemt in hetzelfde geheugen om stringgegevens op te slaan:

Voorbeeld 2: String.intern() Methode om String en String Object te controleren

In dit genoemde voorbeeld worden verschillende strings gemaakt en opgeslagen in de verschillende variabelen. Hiervoor wordt eerst een variabele geïnitialiseerd met een stringwaarde “ Linux ”:

Snaar A = 'Linux' ;

Gebruik de ' intern() ' methode door toegang te krijgen tot de string ' A ” en sla het op in de variabele “ B ”:

Snaar B = A. intern ( ) ;

Er wordt een nieuw object van het tekenreekstype gemaakt met behulp van de ' Snaar() ” constructor en passeert de “ Linux ” als de parameter voor deze constructor. Sla het vervolgens op in de variabele ' C ”:

Snaar C = nieuw Snaar ( 'Linux' ) ;

Roep de ' intern() ' methode door toegang te krijgen tot de variabele ' C ” en sla het resultaat op in de “ D ”:

Snaar D = C. intern ( ) ;

Vergelijk nu deze gemaakte strings met elkaar. Roep daarvoor de “ println() ” methode en geef de parameter door volgens het onderstaande codefragment:

Systeem . uit . println ( A == B ) ;
Systeem . uit . println ( A == C ) ;
Systeem . uit . println ( A == D ) ;
Systeem . uit . println ( B == C ) ;
Systeem . uit . println ( B == D ) ; Systeem . uit . println ( C == D ) ;

De uitvoer van elke corresponderende instructie wordt afgedrukt op de console. We hebben de uitvoer bij elke uitspraak in kaart gebracht:

Dat is alles over de methode string.intern() in Java.

Conclusie

De ' String.intern() ” methode in Java retourneert de verwijzing naar het opgegeven tekenreeksobject. Als het tekenreeksobject echter bestond met dezelfde inhoud/gegevens in de tekenreekspool, retourneert het de verwijzing naar de vorige tekenreeks. Dit bericht heeft verschillende use-cases van de String.intern() methode in Java genoemd.