Heim > Java > javaLernprogramm > Wann sollten Sie „String#intern()' in Java verwenden?

Wann sollten Sie „String#intern()' in Java verwenden?

Mary-Kate Olsen
Freigeben: 2024-12-26 06:06:14
Original
922 Leute haben es durchsucht

When Should You Use `String#intern()` in Java?

Wann ist String#intern() für String-Literale zu verwenden?

String#intern() gibt den vorhandenen String aus dem String-Pool zurück, falls vorhanden vorhanden oder fügt es hinzu und gibt die hinzugefügte Referenz zurück. Während String-Literale automatisch interniert werden, kann es dennoch erforderlich sein, intern() in bestimmten Szenarien manuell aufzurufen.

Automatische Internierung von String-Literalen

Im bereitgestellten Beispielcode :

String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = "Rakesh".intern();
Nach dem Login kopieren

Sowohl s1 als auch s3 repräsentieren denselben String, da die Internierung implizit auf String-Literale angewendet wird Java. Aus diesem Grund werden beide Zeilen, s1 == s2 und s1 == s3, als wahr ausgewertet.

Anwendungsfall für intern()

Die Verwendung von intern() ist relevant beim Umgang mit Strings, die keine String-Literale sind. Zum Beispiel:

String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = new String("Rakesh");
String s4 = new String("Rakesh").intern();
Nach dem Login kopieren

In diesem Beispiel stellen s1, s2 und s4 aufgrund der automatischen Internierung oder des expliziten Aufrufs von intern() denselben String im Konstantenpool dar. Allerdings verweist s3 auf eine neue String-Instanz, die sich nicht im Konstantenpool befindet.

Durch den expliziten Aufruf von intern() auf s4 wird effektiv überprüft, ob „Rakesh“ bereits im String-Pool vorhanden ist. Wenn nicht, wird es hinzugefügt und die Referenz des hinzugefügten Strings zurückgegeben. Dies optimiert die String-Nutzung, indem doppelte String-Objekte im Speicher reduziert und String-Gleichheitsvergleiche gefördert werden.

Das obige ist der detaillierte Inhalt vonWann sollten Sie „String#intern()' in Java verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage