OOP Ungewollte Änderung in einem Objekt

javaXXX

Mitglied
Hallo java-forum,

gleich zu meinem Problem:

Ich habe eine Klasse, nennen wir sie Klasse1, in der mehrere Variablen und dazugehörige getter und setter deklariert werden.
In einer zweiten Klasse, Klasse2, sind 3 Objekte vom Typ Klasse1 mit getter und setter deklariert.
In Klasse3 schreibe ich ein sich änderndes Objekt vom Typ Klasse2 über eine for-Schleife in eine ArrayList.

Bei der Ausgabe erhalte ich aber eine Aufsummierung aller Zuweisungen.
Beim Debuggen sehe ich, wie das erste Objekt sauber in die ArrayList zugewiesen wird, aber schon bei der zweiten Zuweisung wird das erste Objekt mit geändert...

Ich nehme mal an, dass das ein Anfängerfehler von mir ist un dich über irgendwelche Zugriffsmodifizierer in Klasse1 oder 2 das Problem beheben kann.. kann mir einer einen Wink in die richtige Richtung geben? :)


viele Grüße
 
B

bygones

Gast
scheint dass die "unterschiedlichen" objekte die du denkst, ein und die selben immer sind.

mit code koennte man aber mehr sagen
 

Andi_CH

Top Contributor
Vieleicht sind die Variablen static deklariert, die getter und setter vielleicht auch?

Meine Glaskugel leidet im Moment an Vernebelung ;-)
 

javaXXX

Mitglied
Schon gut, Ihr bekommt ja Code :b

Java:
public class Klasse3 {

	List<Klasse1> list1 = new ArrayList<Klasse1>();
	Klasse2 kl2 = new Klasse2();
	List<Klasse2> listResult = new ArrayList<Klasse2>();
	
	for(int x = 0; x < 5; x ++){
	
		kl2.setObject1(this.extract(...));
		
		for(int i = 0; i < 5; i ++){
			list1.add(this.extract(...));
		}
		kl2.setList1(list1);
		
		listResult.add(kl2);
		
	}
	return listResult;
		
}

das ist jetz "leicht" gekürzt.. produktiven Code sollte ich vielleicht nicht posten ^^
Ich verwende schon immer dasselbe Objekt, aber beim Schreiben in das Array wird dieses doch kopiert..? Beim nächsten Durchlauf der for-Schleife bekommt das temporäre Objekt kl2 dann neue Eigenschaften.. für mich sieht das plausibel aus ^^
 
S

SlaterB

Gast
> produktiven Code sollte ich vielleicht nicht posten ^^
> aber beim Schreiben in das Array wird dieses doch kopiert..?

siehst du nicht selber welch grundlegendes Thema du ansprichst?
in nur 5 Min kannst du von Grund auf eine neue Dummy-Klasse mit einem Attribut anlegen in einer main-Methode eine Liste usw.,
da braucht es keinen produktiven Code, nur einen Kopf zum klaren denken und dann deutlich in Code dein Problem beschreiben
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Fehlerausgabe (Ungewollte Zeichen) Java Basics - Anfänger-Themen 1
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
P Ungewollte Doppelpunkte Java Basics - Anfänger-Themen 2
C ungewollte Abbrüche in einer Endlosschleife Java Basics - Anfänger-Themen 6
D Ausführen eines JAR-Archivs: Ungewollte Zeichenformatierung Java Basics - Anfänger-Themen 4
M Ungewollte Schleifen Wiederholung Java Basics - Anfänger-Themen 3
G Datei speichern erzeugt ungewollte UTF-Zeichen Java Basics - Anfänger-Themen 9
T ungewollte zentrierte Ausrichtung im Gridbaglayout Java Basics - Anfänger-Themen 5
N LinkedList - ungewollte Wiederholung v Elementen i d Ausgabe Java Basics - Anfänger-Themen 3
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
C Farbe in der Auswahlliste (Direkte Reaktion auf Änderung) Java Basics - Anfänger-Themen 3
R Card Layout refresh nach Änderung Java Basics - Anfänger-Themen 1
O Watch Service erkennt Datei Änderung nicht Java Basics - Anfänger-Themen 0
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
F Wert auf Änderung überpüfen Java Basics - Anfänger-Themen 7
R AES Key 256 Illegal Key Size auch bei Änderung der Policy Java Basics - Anfänger-Themen 3
Fab1 alte Java Datei wird ausgeführt (trotz Änderung) Java Basics - Anfänger-Themen 4
T Änderung an Script Java Basics - Anfänger-Themen 6
D Variablen Checkbox Änderung in 2. Klasse aktuallisieren Java Basics - Anfänger-Themen 3
c_sidi90 Auf Änderung im Programm reagieren. Java Basics - Anfänger-Themen 6
B Änderung an Text-Datei Java Basics - Anfänger-Themen 5
B Code ausführen bei Änderung von Variablenwert Java Basics - Anfänger-Themen 2
A Scrollbar und Änderung Java Basics - Anfänger-Themen 3
A Änderung im Quellcode > javac > keine Änderung in Kons Java Basics - Anfänger-Themen 6
G JTable Spaltenüberschrift und Änderung Java Basics - Anfänger-Themen 4
G Hinweis bei Änderung des Inhalts in Textfeldern? Java Basics - Anfänger-Themen 4
D JLabel Text-Änderung wird nicht angezeigt Java Basics - Anfänger-Themen 9
G DefaultTreeCellRenderer auf Änderung reagieren Java Basics - Anfänger-Themen 11
G Aktion bei Änderung in JTextArea starten Java Basics - Anfänger-Themen 2
G JDOM: muss XML-Datei nach Änderung abgespeichert werden? Java Basics - Anfänger-Themen 2
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
Zrebna Fragen zu einem Klassendiagramm Java Basics - Anfänger-Themen 8
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
J JSON mit einem JPanel Java Basics - Anfänger-Themen 3
F Einem GIT repository ein Projekt hinzufügen Java Basics - Anfänger-Themen 1
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
J Auf einem JLabel Linien Malen Java Basics - Anfänger-Themen 1
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
Kumora ArrayIndexOutOfBoundsException bei einem Sortierverfahren Java Basics - Anfänger-Themen 2
I Viereck / Rechteck Prüfung innerhalb einem bestimmten Bereich Java Basics - Anfänger-Themen 2
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
J Fehlerbehandlung an einem Beispiel Java Basics - Anfänger-Themen 8
I ResultSet aus meiner SQL-Abfrage in einem JTextfield ausgeben. Java Basics - Anfänger-Themen 1
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
A Elemente in einem Array Java Basics - Anfänger-Themen 5
G Position einer unbekannten 3-stelligen-Zahl in einem String finden Java Basics - Anfänger-Themen 15
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
T Methode, die prüft ob in einem Int-Array maximal 2 Zahlen enthalten sind, die größer als ihr Vorgänger sind Java Basics - Anfänger-Themen 5
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
L Gridmuster in einem Array Java Basics - Anfänger-Themen 2
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
O Array mit einem Zeichen vergleichen Java Basics - Anfänger-Themen 1
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Zahlen bis zu einem bestimmten Grenzwert ausgeben Java Basics - Anfänger-Themen 11
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
Igig1 Wie lasse ich dir Werte in einem Array zusammenrücken? Java Basics - Anfänger-Themen 4
W Methode, die mit einem Datum arbeitet? Java Basics - Anfänger-Themen 22
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
C Hilfe bei einem Anfängerprojekt Java Basics - Anfänger-Themen 25
U Char zu einem String machen Java Basics - Anfänger-Themen 1
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
I Upload File zu einem Webservice Java Basics - Anfänger-Themen 17
Naxon89 Input/Output Ein PDF in einem BLOB umwandeln um ihn dann als PDF wieder anzuzeigen Java Basics - Anfänger-Themen 3
Kotelettklopfer Mehrere Projekte in einem Git verwalten Java Basics - Anfänger-Themen 10
B in einem Array den nächstgelegenen Wert zu einem eingabewert finden Java Basics - Anfänger-Themen 8
E JPanels auf gleicher Höhe (Y-Achse) in einem FlowLayout platzieren Java Basics - Anfänger-Themen 7
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
A Zu einem bestimmten Ort im Code springen Java Basics - Anfänger-Themen 11
I Validation, ob String ein Wert aus einem Enum enthält Java Basics - Anfänger-Themen 3
B Häufigkeit einzelner Zahlen in einem Array Java Basics - Anfänger-Themen 6
D Zufällige Auswahl aus einem angelegten Array? Java Basics - Anfänger-Themen 10
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben