Wann sollten wir die interne Methode von String für String-Literale verwenden?
GemäßString # intern (), intern
Die Methode soll den String aus dem String-Pool zurückgeben, wenn der String im String-Pool gefunden wird. Andernfalls wird ein neues String-Objekt im String-Pool hinzugefügt und der Verweis auf diesen String zurückgegeben.
Also habe ich folgendes versucht:
String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = "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.
}
Ich habe das erwartets1 and s3 are same
wird gedruckt, wenn s3 interniert ist, unds1 and s2 are same
wird nicht gedruckt. Das Ergebnis ist jedoch: Beide Zeilen werden gedruckt. Das bedeutet, dass standardmäßig String-Konstanten interniert sind. Aber wenn ja, warum brauchen wir das?intern
Methode? Mit anderen Worten, wann sollten wir diese Methode anwenden?