String-Literal-Internierung und die intern()-Methode
Java verfügt über eine nützliche Funktion namens String-Literal-Internierung, in der String-Literale automatisch gespeichert werden der String-Pool. Die intern()-Methode bleibt jedoch ein wichtiges Werkzeug zur Verwaltung von Strings.
Die intern()-Methode soll einen String aus dem Pool holen, sofern er dort vorhanden ist. Wenn nicht, wird ein neues String-Objekt zum Pool hinzugefügt und ein Verweis darauf zurückgegeben.
Während String-Literale standardmäßig interniert sind, wird die intern()-Methode für Strings wertvoll, die mit new String() erstellt wurden. . Betrachten Sie das folgende Beispiel:
String s1 = "Rakesh"; String s2 = "Rakesh"; String s3 = "Rakesh".intern(); String s4 = new String("Rakesh"); String s5 = new String("Rakesh").intern();
Die Verwendung des Operators == für diese Variablen führt zu folgenden Ergebnissen:
s1 and s2 are same s1 and s3 are same s1 and s5 are same
Hier verhält sich nur s4 anders, da es explizit mit new and erstellt wurde nicht interniert.
Zusammenfassend stellt die intern()-Methode sicher, dass nur eine einzige unveränderliche String-Instanz aus dem String-Konstantenpool zurückgegeben wird, unabhängig davon, wie der String wird erstellt, außer wenn new verwendet und der intern()-Aufruf weggelassen wird.
Das obige ist der detaillierte Inhalt vonWelche Rolle spielt die Methode „intern()' von Java bei der String-Verwaltung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!