Hallo zusammen,
Es ist eigentlich ganz simpel: Ich möchte ein bestehendes Objekt in einer ArrayList duplizieren (der ArrayList am Ende anfügen) und die Kopie ändern.
Aus irgendeinem Grund wird jedoch bei der Änderung des neuen Objekts auch das Ursprungsobjekt geändert. Woran liegt das bzw. wie kann ich das vermeiden?
Danke im Voraus & Grüße!
Die ArrayList verwende ich als ObservableList in einem Javafx-Tableview. Die Kopie soll logischerweise vom aktuell selektierten Element (selectedActivityIndex) erzeugt werden.
Ergebnis:
Es ist eigentlich ganz simpel: Ich möchte ein bestehendes Objekt in einer ArrayList duplizieren (der ArrayList am Ende anfügen) und die Kopie ändern.
Aus irgendeinem Grund wird jedoch bei der Änderung des neuen Objekts auch das Ursprungsobjekt geändert. Woran liegt das bzw. wie kann ich das vermeiden?
Danke im Voraus & Grüße!
Java:
sequence = sequence + 1;
opShapeData.add(opShapeData.get(selectedActivityIndex));
shape shape = new shape();
shape = opShapeData.get(sequence - 1); // - 1 da sequence bei 1 startet und selectedActivityIndex bei 0
shape.setSequence(sequence);
shape.setId("New Id");
opShapeData.set(sequence - 1, shape);
Ergebnis:
Code:
----- No.: 0 | sequence: 2 | Id: New Id
----- No.: 1 | sequence: 2 | Id: New Id