Einfache Frage, gibt es eine Liste in Java Objekte per Wert oder Referenz? Wenn ich ein Objekt in eine Liste eingetragen und später auf die Veränderung einer der Werte, die in der Liste zu haben, wird der aktualisierte Wert?
- Ein Objekt selbst ist. Es ist nie eine implizite kopieren/Klonen/duplizieren auf Zuweisung oder bei der übergabe an eine Methode.
Den Liste ist eine geordnete Sammlung enthält Objektreferenzen.
Können Sie ändern/aktualisieren, nur veränderlich Objekte. Sie können nicht aktualisieren unveränderlich (e.g
List<String>
) Objekte über Ihre Referenzen.Ja, Sie sind als Verweis gespeichert. Wenn Sie wollen, um den Wert abzurufen, Klonen Sie das Objekt durch die Implementierung der Cloneable-Schnittstelle und setzen Sie Ihre eigene clone-Methode.
Alle Objekte sind Hilfe durch Referenz in java. Eine Liste hält Verweis. Die Objekte werden durch Referenz. Daher, wenn Sie die Werte ändern sich später an, zeigen die aktualisierten Werte.
Offensichtlich durch Bezugnahme auf eine, wie es Brauch ist, mit einem beliebigen Java-Objekt, es sei denn, Sie absichtlich Klonen Sie das Objekt, und legen Sie die Kopie in der Liste.
Benutzerdefinierte Datentypen werden immer als Verweis übergeben, wenn Sie in Ihrem code definiert eine Liste mit Variablen, die von einigen Klassen, die Sie als Verweis gespeichert sind,