Referenzen

Status
Nicht offen für weitere Antworten.

Foermchen82

Top Contributor
Hallo zusammen.

Ich plage mich grade mal durch das leidige Thema der Referenzen.

Hierzu meine Frage:

Ich habe eine Datenstrukur z.b. Map<String, Integer>

wenn ich damit jetzt ein Objet erzeugte (z.b. object1) und der Map was hinzufüge ist alles OK.

Erzeuge ich jetzt davon ein Zweites Object (z.b. object 2) und weise object 2 das object1 zu (object2 = object1) dann sind object1 und object2 identisch.
Nehme ich jetzt an object1 veränderungen vor, haben die automatisch auswirkungen auf objetc2.

Will ich das vermeiden muss ich object2 mit "= new Map<String,Integer>(object1)" erzeugen (Das ist das Kopierkonstruktorprinzip).

ICh hoffe mal bis hierhin ist alles richtig.

Wie schaffe ich eine sinnvolle kopierzuweisung bei Komplexeren datentypen?

z.b. List<SelbstDefinierteContainerClasse>

Da müsste ich ja sowohl die Liste kopieren (geht über den standartkopierkonstrukor) und auch noch die inneren objecte. Heißt dass, ich müßßte im extremfall eine koplett neue Liste bauen, per iteration die inneren objekte einfügen, und dabei jeweils die Kopierkonstruktoren aufrufen??

Danke im vorraus
 
S

SlaterB

Gast
> müßßte im extremfall eine koplett neue Liste bauen

so in der Art, aber wozu? habe ich in 10 Jahren noch nie gebraucht,
also gar nicht so schlimm ;)
 

Foermchen82

Top Contributor
mir gehts auch mehr um das prinzip.

kann mir aber jemand sagen, bei welchen datentypen in java ich keinen CopyConstructor verwenden muss, um eine Kopie zu erstellen?

also Primitive typen wie int, double, char ist klar.

Map, List usw geht nicht.

Integer, String gehen aber glaube ich. Wenn ja, wieso eigentlich?

Danke im voraus
 
S

SlaterB

Gast
alle Objekte gehen erstmal nicht,
Integer und String sind insofern besonders, als dass sie unveränderlich sind,
ein String "abc" bleibt immer "abc", da kann man keine Buchstaben verändern oder ähnliches,
jede Manipulation erzeugt einen neuen String, das ist dem alten schnuppe
 
S

SlaterB

Gast
dass alle anderen Wrapperklassen zu primitiven Datentypen ähnlich sind, kann man ja annehmen,
allgemein wüßte ich grad kein zwingendes Erkennungsmittel,
einfach genau anschauen womit man so hantiert, dann ergibt sich das von selbst

Color fällt mir grad ein:
http://java.sun.com/javase/6/docs/api/java/awt/Color.html

wenn es von einem Objekt statische Konstanten wie
Color.RED
gibt, dann ist das immer ein guter Hinweis, aber nicht zu 100% sicher

Locale hat viele statische Konstanten,

BigInteger, BigDecimal sowie alles was von Number erbt

Pattern
 

Foermchen82

Top Contributor
mir ist noch grad was aufgefallen:

wurde es helfen, wenn ich bei meiner List<SelbstDefinierterContaier> einfach ein clone auf das Object mache? oder sind dann die inneren objecte dann nicht wirklich kopiert?
 
S

SlaterB

Gast
ich persönlich benutzte clone nicht so sehr, um darauf zu antworten,
aber nochmal ein Hinweis auf eine einfache Art des Clones,
die es doch schon gibt:

http://www.informatik-student.de/2006/12/10/deep-copy-von-java-objekten/

alle Objekte müssen serialisierbar sein, was bei Java-Collections usw. normalerweise der Fall ist,
eigene Objekte müssen java.io.Serializable implementieren,
solange nur andere einfache Objekte wie Strings und Collections enthalten sind, kein Problem
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
M Referenzen zuweisen und wird gleichzeitig ausgeführt Java Basics - Anfänger-Themen 6
B JaxB - Unique Name updaten / Referenzen in XML Java Basics - Anfänger-Themen 0
B Objekt kopieren und sämtliche Referenzen von diesem Objekt? Java Basics - Anfänger-Themen 3
B JaxB - Referenzen erstellen? Java Basics - Anfänger-Themen 2
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
B Datenbank: Entity mit vielen Referenzen? Ansatz so ok? Java Basics - Anfänger-Themen 8
scratchy1 Referenzen Java Basics - Anfänger-Themen 32
O Referenzen Java Basics - Anfänger-Themen 2
A Variablen Verständnisfrage bzgl. Variablen/Referenzen Java Basics - Anfänger-Themen 3
A Variablen Referenzen Java Basics - Anfänger-Themen 6
A GUI-Bedienelemente mit Zeiger/Referenzen-Array veralten Java Basics - Anfänger-Themen 4
K Operatoren 2D Int Array auf Null-Referenzen prüfen Java Basics - Anfänger-Themen 18
F Referenzen zwischen Methoden Java Basics - Anfänger-Themen 5
T Klassen Referenzen auf Klassen / Objekte Java Basics - Anfänger-Themen 5
J OOP Ein Fahrrad - zwei Besitzer: Zwei Referenzen auf ein Objekt Java Basics - Anfänger-Themen 43
C Referenzen zu Instanzen einer Klasse im Array Java Basics - Anfänger-Themen 8
K Collections Auf Referenzen in ArrayList zugreifen? Java Basics - Anfänger-Themen 3
B ArrayList.clear - Daten in allen Referenzen weg Java Basics - Anfänger-Themen 2
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
C OOP Referenzen-Problem Java Basics - Anfänger-Themen 3
N Referenzen Problem Java Basics - Anfänger-Themen 2
K Referenzen - 2ter Versuch Java Basics - Anfänger-Themen 17
M Instanzen, Referenzen und Collections Java Basics - Anfänger-Themen 3
C Referenzen in Java Java Basics - Anfänger-Themen 11
J Referenzen vergleichen Java Basics - Anfänger-Themen 8
M Referenzen verschieben Java Basics - Anfänger-Themen 2
J Mehrere Referenzen auf ein Objekt Java Basics - Anfänger-Themen 6
M Referenzen Java Basics - Anfänger-Themen 11
G Netzwerk: RMI Objekt-Referenzen Java Basics - Anfänger-Themen 2
I clone() und Referenzen Java Basics - Anfänger-Themen 25
A Referenzen zu festen Werten machen? Java Basics - Anfänger-Themen 5
H Problem mit Events bzw. Referenzen Java Basics - Anfänger-Themen 4
M Zugriff auf Textfelder über Referenzen? Java Basics - Anfänger-Themen 3
F ArrayList! Pointer, Referenzen! Java Basics - Anfänger-Themen 4
K Verständnisfrage Collection, ArrayList und Referenzen Java Basics - Anfänger-Themen 4
H Begriff: Objekt enthält Referenzen Java Basics - Anfänger-Themen 3
J Referenzen Java Basics - Anfänger-Themen 5
P HashSet und Referenzen Java Basics - Anfänger-Themen 9
G Speicherung von Referenzen auf Instanzen Java Basics - Anfänger-Themen 5
T Referenzen. Java Basics - Anfänger-Themen 5
Z Referenzen in LinkedList Java Basics - Anfänger-Themen 3
F Referenzen in Java - Fehlerpotenzial ! Java Basics - Anfänger-Themen 5
G Instanzen und Referenzen Java Basics - Anfänger-Themen 5
G array auf null-referenzen überprüfen ! Java Basics - Anfänger-Themen 9
G Referenzen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben