Vad är String.intern() i Java?

Vad Ar String Intern I Java



I Java är ' internera() ”-metoden används för att säkerställa att om en stor mängd sträng lagrar data så delar strängar som har samma element samma minne. Denna metod är mycket användbar för att minska minnesutrymmet för programmet. Till exempel, om du har en enorm lista med anställdas namn där namnet ' jack ” visas tio gånger. den ' internera() ”-metoden säkerställer att jack ” tar bara ett enda utrymme i minnet.

Det här inlägget kommer att diskutera användningen av metoden String.intern() i Java.







Vad är String.intern() i Java?

den ' internera() ”-metoden i Java används för att returnera referensen till det angivna strängobjektet. Men om strängobjektet fanns med samma innehåll/data i strängpoolen, kommer det att returnera den föregående strängens referens. Dessutom, om strängen inte finns i strängpoolen kommer den att lägga till den nya strängen och dess referens till strängpoolen.



Syntax

För att använda den angivna metoden, följ bara syntaxen nedan:



Sträng . internera ( )

I det här exemplet kommer vi att diskutera varför det finns ett behov av att använda ' internera() '-metoden i Java när strängen skapas i en hög med hjälp av ' Sträng() ” konstruktör. Först skapas ett strängobjekt med hjälp av ' Sträng() ” konstruktör. Därefter skickas data för strängen som parameter till detta objekt och lagras i en variabel:





Sträng a = ny Sträng ( 'Välkommen till Linuxhint.' ) ;

Ett annat strängobjekt skapas genom att följa samma procedur:

Sträng b = ny Sträng ( 'Välkommen till Linuxhint' ) ;

Åberopa ' println()'-metoden och ställ in 'a=b ” som argument för denna metod. Det kommer att returnera resultatet som falskt eftersom varje sträng har sitt eget utrymme i minnet:



Systemet . ut . println ( a == b ) ;

Det kan noteras att utdata från det ovan angivna exemplet returnerar falskt:

Exempel 1: String.intern() Metod för att kontrollera strängobjekt

I det här exemplet skapas två strängobjekt genom att använda ' Sträng() ” konstruktor och en sträng skickas till konstruktorn som ett argument. Anropa sedan ' internera() ' metod för varje sträng och lagra den första strängen i variabel ' a ' och den andra i ' b ”. Kontrollera skicket ' a=b ' och använd ' println() ' för att visa resultatet:

Sträng a = ny Sträng ( 'Välkommen till Linuxhint' ) . internera ( ) ;
Sträng b = ny Sträng ( 'Välkommen till Linuxhint' ) . internera ( ) ;
Systemet . ut . println ( a == b ) ;

Som ett resultat returnerar den ' Sann ' värde eftersom ' internera() ”-metoden säkerställer att varje sträng upptar utrymme i samma minne för att lagra strängdata:

Exempel 2: String.intern() Metod för att kontrollera sträng och strängobjekt

I detta angivna exempel skapas olika strängar och lagras i de olika variablerna. För detta ändamål initieras först en variabel med ett strängvärde ' Linux ”:

Sträng a = 'Linux' ;

Använd ' internera() ' metoden genom att komma åt strängen ' a ' och lagra den i variabeln ' b ”:

Sträng b = a. internera ( ) ;

Ett nytt objekt av strängtyp skapas med hjälp av ' Sträng() ' konstruktör och skickar ' Linux ” som parameter till denna konstruktor. Lagra den sedan i variabeln ' c ”:

Sträng c = ny Sträng ( 'Linux' ) ;

Åberopa ' internera() ' metod genom att komma åt variabeln ' c ' och lagra resultatet i ' d ”:

Sträng d = c. internera ( ) ;

Jämför nu dessa skapade strängar med varandra. För detta ändamål, åberopa ' println() ”-metoden och skicka parametern enligt nedanstående kodavsnitt:

Systemet . ut . println ( a == b ) ;
Systemet . ut . println ( a == c ) ;
Systemet . ut . println ( a == d ) ;
Systemet . ut . println ( b == c ) ;
Systemet . ut . println ( b == d ) ; Systemet . ut . println ( c == d ) ;

Utdata från varje motsvarande sats skrivs ut på konsolen. Vi har mappat utgången med varje påstående:

Det handlar om metoden string.intern() i Java.

Slutsats

den ' String.intern() ”-metoden i Java returnerar referensen till det angivna strängobjektet. Men om strängobjektet fanns med samma innehåll/data i strängpoolen, kommer det att returnera den föregående strängens referens. Det här inlägget har angett olika användningsfall av String.intern()-metoden i Java.