Heim >Java >javaLernprogramm >So erstellen Sie CaseInsensitiveString-Instanzen: Konstruktor oder statische Factory-Methode?
Java Strings: Fingerzeig auf „String s = new String(„silly“)“
Beim Eintauchen in die Welt der Java-Programmierung , erscheint eine Abfrage hinsichtlich der geeigneten Erstellung von String-Objekten. Die Sorge ergibt sich aus der Idee, unnötige String-Erstellung durch die Verwendung von Literalen anstelle von „new String(...)“-Aufrufen zu vermeiden. Diese Anleitung scheint jedoch der Verwendung von benutzerdefinierten String-Klassen wie CaseInsensitiveString zu widersprechen.
Frage 1: Warum ist die Verwendung von „new CaseInsensitiveString(...)“ notwendig?
Im Gegensatz zum vereinfachten Fall von String ist CaseInsensitiveString eine vom Programmierer definierte benutzerdefinierte Klasse. Instanzen dieser Klasse können nur über den angegebenen Konstruktor „CaseInsensitiveString(...)“ erstellt werden. Da Java keine Kopierkonstruktoren unterstützt, muss der Konstruktor explizit aufgerufen werden, um den internen Zustand des Objekts zu initialisieren.
Frage 2: CaseInsensitiveString so anpassen, dass es sich wie String verhält
Während der Das Standardverhalten von CaseInsensitiveString erfordert die Verwendung seines Konstruktors. Es gibt potenzielle Möglichkeiten, die vereinfachte Syntax der integrierten String-Klasse nachzuahmen.
Mit Erweiterung:
Ohne Erweiterung:
Das obige ist der detaillierte Inhalt vonSo erstellen Sie CaseInsensitiveString-Instanzen: Konstruktor oder statische Factory-Methode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!