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?

Antworten auf die Frage(13)

Ihre Antwort auf die Frage