


Wie verwende ich die clone()-Methode in Java anstelle des neuen Schlüsselworts?
Verwenden Sie clone() anstelle von new
Die häufigste Methode zum Erstellen einer neuen Objektinstanz in Java ist die Verwendung des Schlüsselworts new. Die Unterstützung von new durch JDK ist sehr gut. Die Verwendung des Schlüsselworts new zum Erstellen leichter Objekte ist sehr schnell. Bei schweren Objekten kann die Ausführungszeit des Konstruktors jedoch länger sein, da das Objekt möglicherweise einige komplexe und zeitaufwändige Vorgänge im Konstruktor ausführt. Dadurch kann das System kurzfristig keine große Anzahl an Instanzen erhalten. Um dieses Problem zu lösen, können Sie die Methode Object.clone() verwenden. Die Methode
Object.clone() kann den Konstruktor umgehen und eine Objektinstanz schnell kopieren. Standardmäßig ist die von der clone()-Methode generierte Instanz jedoch nur eine flache Kopie des Originalobjekts.
Ich muss hier erwähnen, dass Java nur nach Wert überträgt. Mein Verständnis ist, dass sich grundlegende Datentypen auf Werte beziehen, und dass sich gewöhnliche Objekte auch auf Werte beziehen. Der Wert, auf den dieses gewöhnliche Objekt verweist, ist jedoch tatsächlich die Adresse eines Objekts. Codebeispiel:
int i = 0; int j = i; //i的值是0 User user1 = new User(); User user2 = user1; //user1值是new User()的内存地址
Wenn Sie eine tiefe Kopie benötigen, müssen Sie die Methode clone() erneut implementieren. Werfen wir einen Blick auf die von ArrayList implementierte clone()-Methode:
public Object clone() { try { ArrayList<?> v = (ArrayList<?>) super.clone(); v.elementData = Arrays.copyOf(elementData, size); v.modCount = 0; return v; } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable throw new InternalError(e); } }
In der clone()-Methode von ArrayList verwenden Sie zunächst die super.clone()-Methode, um ein flaches Kopierobjekt zu generieren. Kopieren Sie dann ein neues elementData-Array, auf das die neue ArrayList verweisen soll. Sorgen Sie dafür, dass das geklonte ArrayList-Objekt andere Referenzen als das Originalobjekt enthält, wodurch eine tiefe Kopie realisiert wird.
Das obige ist der detaillierte Inhalt vonWie verwende ich die clone()-Methode in Java anstelle des neuen Schlüsselworts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Leitfaden zur Quadratwurzel in Java. Hier diskutieren wir anhand eines Beispiels und seiner Code-Implementierung, wie Quadratwurzel in Java funktioniert.

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Leitfaden zur Armstrong-Zahl in Java. Hier besprechen wir eine Einführung in die Armstrong-Zahl in Java zusammen mit einem Teil des Codes.

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist
