Erstellen von Strings in Java: Der Fall von „String s = new String(“silly“)“
Beim Erstellen von Strings in Java Es ist wichtig, das Verhalten der String-Klasse zu verstehen. Im Gegensatz zu vielen anderen Klassen in Java erstellen String-Literale automatisch String-Objekte, ohne dass das Schlüsselwort new erforderlich ist. Vom Erstellen eines neuen String-Objekts mit dem new-Operator wird jedoch ausdrücklich abgeraten, da dies zu unnötigem Speicherverbrauch führen kann.
Um dies zu veranschaulichen, betrachten Sie den folgenden Code:
String s = "No longer silly";
In this In diesem Fall wird das Literal „Nicht mehr albern“ direkt der s-Variablen zugewiesen, wodurch ein einzelnes String-Objekt erstellt wird. Der folgende Codeausschnitt:
String s = new String("silly");
erstellt jedoch ein unnötiges zusätzliches String-Objekt. Um dies zu vermeiden, wird empfohlen, wann immer möglich die Literalzuweisung zu verwenden, wie im ersten Beispiel gezeigt.
Es kann jedoch Situationen geben, in denen es erforderlich ist, String-Objekte dynamisch zu erstellen. Betrachten Sie zum Beispiel die folgende Klasse:
public final class CaseInsensitiveString { private String s; public CaseInsensitiveString(String s) { if (s == null) { throw new NullPointerException(); } this.s = s; } }
In diesem Szenario:
Das obige ist der detaillierte Inhalt vonWarum ist es notwendig, „new' zu verwenden, wenn ein „CaseInsensitiveString'-Objekt erstellt wird, aber kein „String'-Objekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!