Collections Verständnisfrage zu Objektreferenzen in Listen

RalleYTN

Bekanntes Mitglied
Hallo Leute!

Ich habe mal eine kleine Verständnisfrage.
Nehmen wir einmal an ich habe ein Objekt und füge es einer Liste hinzu.
Wenn ich nun etwas mit dem Objekt ohne es über die Liste zu erhalten, ist das Objekt, welches sich in der Liste befindet dann immer noch identisch mit dem Objekt, dass ich nach dem Hinzufügen in die Liste bearbeitet habe?
 

Baldur

Aktives Mitglied
Java arbeitet (fast) ausschließlich mit Zeigern bzw. Referenzen. Wenn du ein Objekt in eine Liste gibst, oder an eine Funktion übergibst, übergibst du immer nur eine Referenz. Es haben also dann mehrere Klassen Zugriff auf das selbe Objekt. Umgekehrt ist es gar nicht so leicht, von einem Objekt eine Kopie anzulegen. Dazu muss man nämlich ein komplett neues Objekt erstellen und alle Daten einzeln in das neue Objekt kopieren.
Das einzige, das in Java "by value" übergeben wird, sind die einfachen Datentypen wie int, float, boolean, usw.
 

Joose

Top Contributor
Das einzige, das in Java "by value" übergeben wird, sind die einfachen Datentypen wie int, float, boolean, usw.

Diese Aussage ist nicht richtig. Mit deiner Aussage würdest du sagen das Objekte mit "call by reference" übergeben werden.
In Java wird nur mit "call by value" gearbeitet. Du hast zwar recht das bei Objekten eine Referenz übergeben wird, hier wird aber eine Kopie der Referenz übergeben.

Wäre es anders könnte man in der Methode ein neues Objekt erstellen und auch der Aufrufer hätte dann das neue Objekt verfügbar.

EDIT: Hier habe ich nun selbst etwas falsche geschrieben. Es wird nicht eine Kopie der Referenz sondern das eigentliche Objekt übergeben, also der Value der Referenz.
 
Zuletzt bearbeitet:

Baldur

Aktives Mitglied
So gesehen wäre ja selbst bei C++ alles call-by-value ;)

Ansich hast du ja recht, aber letztendlich gehts ja darum, daß ein Objekt selbst niemals durch eine Parameterübergabe kopiert wird, ein int aber schon. Wenn in einer Funktion der Inhalt eines Objekts manipuliert wird, ändert sich auch das Objekt außerhalb, und Java bietet keine Möglichkeit das zu unterbinden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Verständnisfrage java.util.TimerTask Allgemeine Java-Themen 2
C try-catch Block Verständnisfrage Allgemeine Java-Themen 14
O log4j - Verständnisfrage Allgemeine Java-Themen 1
M Verständnisfrage bei Hausaufgabe Allgemeine Java-Themen 7
L Getter und Setter Verständnisfrage Allgemeine Java-Themen 10
H MVC - Verständnisfrage Allgemeine Java-Themen 12
E Verständnisfrage zu synchronized-Blöcken Allgemeine Java-Themen 3
E Verständnisfrage bezüglich Threads Allgemeine Java-Themen 4
agent47 Plugin System Verständnisfrage Allgemeine Java-Themen 6
T Verständnisfrage bei Nachbarschaftsbetrachtung Allgemeine Java-Themen 8
M Verständnisfrage Exceptions Allgemeine Java-Themen 2
A Generics Verständnisfrage Allgemeine Java-Themen 7
J Verständnisfrage zu Casts auf Interfaces Allgemeine Java-Themen 5
J Verständnisfrage - nested static classes Allgemeine Java-Themen 11
J Verständnisfrage zu exceptions Allgemeine Java-Themen 3
J volatile Verständnisfrage Allgemeine Java-Themen 6
S JAAS - Verständnisfrage Allgemeine Java-Themen 2
G allgemein synchroniszed verständnisfrage Allgemeine Java-Themen 19
V FileWriter und Zahlen (Kein Problem, nur Verständnisfrage) Allgemeine Java-Themen 4
K Verständnisfrage. Allgemeine Java-Themen 9
T Eine Verständnisfrage Allgemeine Java-Themen 15
T Kleine Verständnisfrage zu Stringbuffer Allgemeine Java-Themen 2
sliwalker Verständnisfrage ObserverPattern Allgemeine Java-Themen 2
Z Objektreferenzen in Java Allgemeine Java-Themen 10
D Zwei Listen vergleichen Allgemeine Java-Themen 7
M doppelt verkettete Listen Allgemeine Java-Themen 2
L Listen Allgemeine Java-Themen 3
F Verständnisprobleme Aufgabenstellung Aktionsobjekte und generische Listen Allgemeine Java-Themen 1
E Listen in Java aneinanderfügen, subtrahieeren usw. Allgemeine Java-Themen 14
C Fehler beim Debuggen von Listen Allgemeine Java-Themen 4
J Mit Referenzen verkettet Listen. Allgemeine Java-Themen 9
S Intressante Benchmark-Ergebnisse mit Listen. Weiss jemand wie man diese erklaeren kann? Allgemeine Java-Themen 15
D Best Practice Die niedrigste Differenz zwischen zwei Listen ermitteln. Allgemeine Java-Themen 10
F Listen - Mehrere Objekte Allgemeine Java-Themen 1
P Listen sortieren Allgemeine Java-Themen 1
C Listen Allgemeine Java-Themen 1
M liste von listen anders ausgeben Allgemeine Java-Themen 1
W Sortierte Listen - Methode suchen Allgemeine Java-Themen 17
W Sortierte Listen mit Polymorphismus Allgemeine Java-Themen 6
J Rekursion oder Iteration - verkettete Listen Allgemeine Java-Themen 8
S Permutation und Listen Allgemeine Java-Themen 2
P Doppeltverkettete Listen + Text Allgemeine Java-Themen 5
A Java Projekt (Daten Eingeben, Speichern und in Listen Ausgeben) Allgemeine Java-Themen 6
F JAXB / Listen durchlaufen Allgemeine Java-Themen 17
T Drucken von variabel langen Listen (es kommen nur leere Seiten raus) Allgemeine Java-Themen 2
F Vergleich zweier Listen Allgemeine Java-Themen 4
T Synchronisation von Listen bei Zugriffen durch mehrere Prozesse Allgemeine Java-Themen 15
D variabler Listen name Allgemeine Java-Themen 3
V Drucken von Listen Allgemeine Java-Themen 6
S Doppelte Werte in Listen,Vectoren etc suchen Allgemeine Java-Themen 2
L verkettete Listen oder Arrays + Indexlisten effizienter? Allgemeine Java-Themen 3
M Addieren von Listen Allgemeine Java-Themen 2
F Objekte oder besser ID in Listen speichern? Allgemeine Java-Themen 2
S Mehrere Listen ineinander verschachteln Allgemeine Java-Themen 22
S Alle Elemente von zwei Listen vergleichen Allgemeine Java-Themen 10
R Objektsynchronisierung zweier Listen?!?! Allgemeine Java-Themen 2
H Listen Allgemeine Java-Themen 5
G Datenstruktur: LISTEN Allgemeine Java-Themen 7
J Verschachtelte ListIteratoren um in zwei Listen hin und herzugehen Allgemeine Java-Themen 5
C Problem Methoden, Klassen, Listen Allgemeine Java-Themen 27
K Listen,Bäume,Mengen Allgemeine Java-Themen 3
S Hinzufügen von Elementen zu Listen Allgemeine Java-Themen 4
A zwei listen vergleichen und unterschiede anzeigen Allgemeine Java-Themen 3
D Listen / Datenstrukturen und ein blutiger Anfänger Allgemeine Java-Themen 7
J Zwei sortierte Listen zusammenfassen Allgemeine Java-Themen 8
T Problem mit Listen Allgemeine Java-Themen 8
B binarysearch bei listen mit klassen Allgemeine Java-Themen 4
F Problem mit Java Listen Allgemeine Java-Themen 4
D Listen von Generischen Typen inkl. Vererbung Allgemeine Java-Themen 2
C Listen in Java. Anehängter Code nicht ganz klar Allgemeine Java-Themen 19
L Doppelt Verkettete Listen Allgemeine Java-Themen 6
E Verkettete Listen Allgemeine Java-Themen 5
M objekt mit listen Allgemeine Java-Themen 5
G Domainen crawlen & Domainnamen listen -> LANGSAM! Allgemeine Java-Themen 19
M Listen Problem! Allgemeine Java-Themen 26
M doppelt verkettete Listen? Allgemeine Java-Themen 5
M Serialisierte listen ausgeben? Allgemeine Java-Themen 6
F 2 Varianten für synchronisierten Zugriff auf Listen Allgemeine Java-Themen 2
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
G Synchronisierte Listen. ein Graus Allgemeine Java-Themen 4
M Verknüpfung von Listen Allgemeine Java-Themen 3
S Frage zu ArrayList mit Listen Allgemeine Java-Themen 8
S Fragen zu 4 speziellen Listen Allgemeine Java-Themen 4
D Listen Allgemeine Java-Themen 4
M sortierte listen Allgemeine Java-Themen 5
I Doppelt verkette Listen Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben