Meine Frage ist, mit Java ist es möglich, eine Sammlung wie einen Baum zu haben. Lassen Sie einen Knoten im Baum in einer Variablen speichern. Es wäre das selbe objektadressierte (in meinem Verständnis), also bedeutet das Ändern der Daten in dem Knoten unter Verwendung der lokalen Variablen auch die Daten in der Sammlung ändern würde?Ändern Sie den Wert in einer Sammlung mit lokalen Variablen
Antwort
Die lokale Variable enthält einen Verweis auf den Knoten. Daher ändern Daten in Ihrer lokalen Variablen tatsächlich die Daten in dem Objekt, auf das sie verweist. In diesem Fall wird auch der Knoten in Ihrem Baum geändert, da es sich um dasselbe Objekt handelt .
Mit freundlichen Grüßen
Alex
Die Antwort irgendwie ist. Angenommen, Sie haben die Variable var
und ihre Adresse ist in der Sammlung things
gespeichert. Wenn Sie dann etwas tun wie: var = some_var
, werden die Daten in der Sammlung nicht geändert. Dies liegt daran, dass Sie die Adresse von var in der Zuweisung überschreiben. Wenn Sie jedoch var irgendwie ändern würden, würden sich beide ändern. Dies geschieht, weil die Adresse gleich bleibt, so dass Sie immer noch in den richtigen Speicher schreiben. z.B. var.field = some_data
würde things[var].field
ändern.
Aus diesem Grund ist es in der Regel ratsam, eine Kopie von var
in things
zu laden, damit wir sie nicht versehentlich verbunden lassen. Die Leute lassen oft zusammenhängende Dinge so, ohne es zu merken, und modifizieren dann die Variable, ohne zu merken, dass sich die Sammlung ebenfalls geändert hat.
- 1. So ändern Sie den Wert eines Elements einer Sammlung
- 2. Holen Sie den Namen einer lokalen Variablen
- 3. Ändern Sie den Wert einer Variablen bei Rotation Js
- 4. Kann den Wert einer Variablen in JQuery-Funktion nicht ändern
- 5. Ändern Sie den Wert der globalen Variablen in Python3
- 6. Prolog - Drucken Sie den Wert einer Variablen
- 7. Wert einer Variablen nicht ändern in javaFX
- 8. Ändern Sie den Namen des Routenpfads mit einer Variablen
- 9. Ändern Sie relativ den Wert einer Eigenschaft
- 10. linq Ändern Sie den Wert einer Ergebnismenge
- 11. Wenn Sie den Wert einer Variablen in Haskell nicht ändern können, wie erstellen Sie Datenstrukturen?
- 12. den Wert einer Variablen aufzeichnen
- 13. Wert einer statischen Variablen in einer einzigen Instanz ändern (Java)
- 14. Ändern Sie den lokalen Pfad, Team Explorer
- 15. Verwenden Sie den Wert einer Variablen, bevor Sie sie ändern - JavaScript
- 16. Behalten den Wert einer Variablen in Perl
- 17. Verwenden Sie String.Format mit lokalen Variablen C#
- 18. So speichern Sie den Wert einer Variablen in Java
- 19. Den Wert einer Funktion zurücksenden, ohne sie einer Variablen zuzuweisen
- 20. Drucken Sie den Wert einer Variablen in Python/Django?
- 21. Ersetzen Sie den Wert einer Variablen in PySpark Lambda-Funktion
- 22. Setzen Sie den Wert einer Variablen in einem String
- 23. forward_call mit lokalen Variablen
- 24. Flussdiagramm lokalen Funktionen Wert der Variablen zuweisen
- 25. Rückgabe einer lokalen Variablen Verwirrung in C
- 26. Ermitteln Sie den Wert mit jquery ändern
- 27. Wie ändere ich den Wert einer Variablen in einer Ansicht?
- 28. Text zuweisen einer lokalen Variablen in Typoskript
- 29. ändern Wert der Variablen mit dplyr
- 30. Den Wert einer ID in RavenDB ändern
Warum testen Sie es nicht einfach? Aber wenn Sie zwei Verweise auf dasselbe Objekt haben, wird die Änderung des Status des eindeutigen Objekts mit einer Referenz diese ändern, und die andere Referenz verweist immer noch auf dasselbe modifizierte Objekt. –