Heim >Java >javaLernprogramm >Wann sollten Sie das Schlüsselwort „new' für Java-Strings verwenden?

Wann sollten Sie das Schlüsselwort „new' für Java-Strings verwenden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-07 21:54:13554Durchsuche

When should you use the

String-Literale und neue Schlüsselwörter in Java-Strings

In Java ist die String-Klasse ein grundlegender Datentyp, der zur Darstellung von Zeichenfolgen verwendet wird. Es gibt jedoch einen subtilen Unterschied zwischen der Erstellung eines neuen String-Objekts mit dem neuen Schlüsselwort und der direkten Zuweisung einer Literalzeichenfolge zu einer Variablen.

Verwendung des neuen Schlüsselworts

The Codeausschnitt String s = new String("silly"); Erstellt eine neue Instanz der String-Klasse mit dem Literal „silly“ als Argument. Dieser Vorgang weist zusätzlichen Speicher zu und erstellt ein neues Objekt auf dem Heap.

Direktes Zuweisen eines Literals

Andererseits ist die Zuweisung String s = "Nicht mehr albern "; weist der Variablen s direkt den Literalwert „Nicht mehr albern“ zu. Java erstellt automatisch ein anonymes String-Objekt und speichert es in der Variablen, ohne dass das Schlüsselwort new verwendet werden muss. Diese Optimierung vermeidet unnötige Speicherzuweisung und Objekterstellung.

Im Fall der CaseInsensitiveString-Klasse, die die String-Klasse nicht erweitert, wird die direkte Zuweisung eines Literals jedoch nicht direkt unterstützt. Um dies zu ermöglichen, haben wir zwei Möglichkeiten:

Option 1: Erweitern der String-Klasse

Wir können die String-Klasse erweitern, um eine CaseInsensitiveString-Klasse zu erstellen, die ihr Verhalten erbt und ermöglicht die direkte Zuweisung von Literalen. Dies erfolgt durch Überschreiben der Methoden toString() und equal(), um Vergleiche ohne Berücksichtigung der Groß- und Kleinschreibung zu ermöglichen.

Option 2: Benutzerdefinierte Konstruktorüberladungen

Ein anderer Ansatz ist die Überladung der Konstruktor von CaseInsensitiveString zum Akzeptieren literaler Argumente. Dies kann durch die Bereitstellung eines Konstruktors erreicht werden, der ein String-Argument akzeptiert und das s-Feld automatisch initialisiert.

Das obige ist der detaillierte Inhalt vonWann sollten Sie das Schlüsselwort „new' für Java-Strings verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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