String.intern () gibt einen String im String-Literal-Pool zurück. Wenn die Zeichenfolge jedoch bereits im Pool vorhanden ist, wird die vorhandene Zeichenfolge zurückgegeben.
Wenn Sie einen neuen String auswählen, sollte er den von Ihnen erstellten String zurückgeben. Wenn Sie jedoch einen String verwenden, der bereits im Pool vorhanden ist, erhalten Sie den vorhandenen String.
Es ist davon auszugehen, dass in diesem Fall "java"
bereits im Pool existiert. Wenn Sie also intern () aufrufen, gibt es ein anderes Objekt zurück, so dass ==
falsch ist.
Hinweis: string.intern().equals(string)
sollte immer wahr sein.
Die Konstante String
"java"
ist bereits im Java-Konstantenpool vorhanden, Sie können dies jedoch überprüfen, indem Sie
bis
%Vor%was die gleiche Konstante und Ausgabe erhält
%Vor% Alternativ können Sie "计算机软件"
und "String"
wie
Dann würden Sie (im Einklang mit Ihren Beobachtungen)
bekommen %Vor%Tags und Links string java stringbuilder