Unveränderlicher String
String-Objekte sind unveränderlich. Die JVM hat es optimiert und einen Bereich im Speicher als String-Konstantenpool geöffnet. In „literaler“ Form erstellte Zeichenfolgenobjekte werden zwischengespeichert und wiederverwendet.
//"字面量"形式创建的字符串 String str = "abc";
String-Operator: „+“ und StringBuilder
Operator „+“ können String-Strings verbinden. Der Compiler verfügt über eine Optimierungsmaßnahme. Beim Kompilieren des Quellcodes wird festgestellt, dass alle Parameter eines Berechnungsausdrucks Literale sind. Er wird direkt berechnet und das Ergebnis wird in eine Klassendatei kompiliert.
String str = "abcd"; String str1 = "ab"+"cd";//输出abcd 对象不变 System.out.println(str==str1);//true
Wenn eine Seite des Berechnungsausdrucks eine Variable ist, fügt der Compiler sie zur Laufzeit zusammen und generiert schließlich ein neues Objekt, was Leistung verbraucht.
String str = "abcd"; String str1 = "ab"; String str2 = str1+"cd";//输出abcd 对象改变 System.out.println(str==str2);//false
StringBuilder
Der Compiler verweist beim Kompilieren automatisch auf die append()-Methode von StringBuilder zum Spleißen und ruft schließlich toString() auf, um das Ergebnis zu generieren. Allerdings erstellt jede Spleißschleife im .calss-Bytecode ein StringBuilder-Objekt. Wenn die Zeichenfolgenoperation komplex ist, erstellen Sie beim Schreiben der .java-Datei ein StringBuilder-Objekt zum Spleißen.
Gemeinsame Methoden von String
Das obige ist der detaillierte Inhalt vonString_string. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!