Heim > Java > javaLernprogramm > Wann sollten Sie die String-Methode „intern()' von Java verwenden?

Wann sollten Sie die String-Methode „intern()' von Java verwenden?

Barbara Streisand
Freigeben: 2024-12-04 03:26:13
Original
146 Leute haben es durchsucht

When Should You Use Java's String `intern()` Method?

String-Literale und die intern-Methode

Frage:

In welchen Situationen ist in Java die Verwendung der intern( )-Methode für einen String Literale?

Antwort:

Java interniert String-Literale automatisch, was bedeutet, dass ihre Werte im Konstantenpool gespeichert und von mehreren String-Objekten referenziert werden. Die intern()-Methode ist jedoch nützlich, wenn Sie mit Zeichenfolgen arbeiten, die mit dem neuen Operator erstellt wurden.

Erklärung:

String-Literale wie „Rakesh“ werden automatisch erstellt interniert. Das bedeutet, dass die von new String("Rakesh") zurückgegebene String-Referenz immer auf dasselbe Objekt verweist wie das Literal „Rakesh“.

Mit new erstellte Strings werden jedoch nicht interniert. Der Code String s4 = new String("Rakesh") erstellt ein neues Objekt im Speicher, obwohl der Wert von "Rakesh" bereits im Konstantenpool vorhanden ist. Um die Internierung dieser neu erstellten Zeichenfolge zu erzwingen, können wir die intern()-Methode verwenden, wie in String s5 = new String("Rakesh").intern() gezeigt.

Also die intern()-Methode sollte verwendet werden, wenn wir manuell sicherstellen möchten, dass mehrere Zeichenfolgenobjekte auf dasselbe Objekt im Konstantenpool verweisen, auch wenn sie mit erstellt wurden neu.

Beispiel:

Betrachten Sie den folgenden Code:

String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = "Rakesh".intern();
String s4 = new String("Rakesh");
String s5 = new String("Rakesh").intern();

if (s1 == s2) {
    System.out.println("s1 and s2 are same"); // 1.
}

if (s1 == s3) {
    System.out.println("s1 and s3 are same"); // 2.
}

if (s1 == s4) {
    System.out.println("s1 and s4 are same"); // 3.
}

if (s1 == s5) {
    System.out.println("s1 and s5 are same"); // 4.
}
Nach dem Login kopieren

Die Ausgabe lautet:

s1 and s2 are same
s1 and s3 are same
s1 and s5 are same
Nach dem Login kopieren

Die Zeilen 1, 2 und 4 veranschaulichen, dass sich s1, s2, s3 und s5 alle auf dasselbe Objekt in beziehen der konstante Pool. Zeile 3 zeigt, dass s4 ein anderes Objekt im Speicher ist, obwohl es denselben Wert wie s1 hat.

Das obige ist der detaillierte Inhalt vonWann sollten Sie die String-Methode „intern()' von 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