Heim > Java > javaLernprogramm > Was ist der Zweck der String intern()-Methode in Java?

Was ist der Zweck der String intern()-Methode in Java?

PHPz
Freigeben: 2023-09-20 13:29:03
nach vorne
966 Leute haben es durchsucht

String ist eine Klasse in Java, die Zeichenfolgen speichert und zum Paket java.lang gehört. Sobald String-Objekte erstellt wurden, können sie nicht mehr geändert werden (unveränderlich).

Speicher

Alle String-Objekte werden an einem separaten Speicherort im Heap-Bereich gespeichert, der als String-Konstantenpool bezeichnet wird.

Immer wenn ein String-Wert definiert wird, erstellt JVM ein String-Objekt mit dem angegebenen Wert im String-Konstantenpool. Wenn Sie also das obige Programm ausführen, werden im String-Konstantenpool zwei String-Werte erstellt.

String intern() 方法在 Java 中的作用是什么?

intern()-Methode

Diese Methode gibt den Wert der aktuellen Zeichenfolge aus dem Pool eindeutiger Zeichenfolgenwerte zurück. Immer wenn Sie diese Methode für einen bestimmten String aufrufen, wird sie zurückgegeben, wenn der String-Konstantenpool bereits einen String enthält, der diesem entspricht (gemäß der Methode equal der Object-Klasse). Wenn nicht, wird die aktuelle Zeichenfolge zum String-Konstantenpool hinzugefügt und ein Verweis darauf zurückgegeben.

d.h. wenn Sie diese Methode für zwei Strings mit demselben Inhalt aufrufen, teilen sie sich garantiert den gleichen Speicher.

Diese Methode kann den belegten Speicher bequem reduzieren, wenn mehrere doppelte Werte angezeigt werden.

Beispiel

Im Folgenden erstellen wir zwei Zeichenfolgen mit demselben Inhalt (unter Verwendung des neuen Schlüsselworts) und vergleichen sie mithilfe des Operators „==". Obwohl beide Objekte denselben Wert haben, ist das Ergebnis falsch, da sie nicht auf dasselbe Objekt (Speicher) verweisen.

public class InternExample {
   public static void main(String args[]) {
      String str1 = new String("Hello");
      str1 = str1.intern();
      String str2 = "Hello";
      str2 = str2.intern();
      System.out.println(str1.equals(str2));
   }
}
Nach dem Login kopieren

Ausgabe

false
Nach dem Login kopieren

Das Ergebnis ist jedoch wahr, wenn Sie die interne Methode aufrufen, bevor Sie die beiden Objekte vergleichen, da dadurch sichergestellt wird, dass beide Objekte denselben Speicher teilen, wenn sie denselben Inhalt haben.

public class InternExample {
   public static void main(String args[]) {
      String str1 = new String("Hello");
      str1 = str1.intern();
      String str2 = new String("Hello");
      str2 = str2.intern();
      System.out.println(str1==str2);
   }
}
Nach dem Login kopieren

Ausgabe

true
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist der Zweck der String intern()-Methode in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage