Ja, ja, ich weis es hängt immer von der jeweiligen Situation ab. Die nachfolgende Frage ist erstmal grundsätzlich gestellt.
Beispiel (dient nur der Shematic, also es könnten Fehler enthalten sein)
Was ist am besten?
1. Kopieren der Daten in ein neues Datenobject
Hat den Vorteil, dass die Daten in einem neuen Speicherbereich landen. Hat aber bei Veränderung der Identifier - Klasse den Nachteil, dass die anderen Klassen
es nicht bekommen.
2. Referenz auf das gleiche Object vergeben, sprich ein kopieren der Daten erfolgt nicht in einen anderen Speicherbreich
Hat den Vorteil, dass die Daten bei Veränderung gleich bleiben.
Beispiel (dient nur der Shematic, also es könnten Fehler enthalten sein)
Java:
class Identifier {
private String id;
private String a;
private String b;
...
public Identifier(Identifier identifier) {
super();
if ( identifier != null ) {
this.id = identifier.id;
this.a = identifier.a;
this.b = identifier.b;
....
}
}
...
}
class OtherClass {
...
List<Identifier> identifierList = new ArrayList<Identifiert>();
...
public OtherClass(OtherClass otherClass) {
super();
if ( otherClass != null ) {
...
this.identifierList = new ArrayList(otherClass.identiferList.size);
for(Identifier identifier: otherClass.identifierList) this.identifierList.add(new Identifier(identifier))
...
}
}
}
Was ist am besten?
1. Kopieren der Daten in ein neues Datenobject
Java:
for(Identifier identifier: otherClass.identifierList) this.identifierList.add(new Identifier(identifier))
es nicht bekommen.
2. Referenz auf das gleiche Object vergeben, sprich ein kopieren der Daten erfolgt nicht in einen anderen Speicherbreich
Java:
for(Identifier identifier: otherClass.identifierList) this.identifierList.add(identifier)