Hallo,
ich habe ein Problem mit meinem Programm. Ich habe eine ArrayList in der jeweils 1 Objekt mehrmals gespeichert wird. Das Objekt selbst ist aus einer Klasse instanziiert die Thema heisst. Ich wollte ein Input-File lesen und dann pro Thema (jeweils markiert, Nebensache) ein neues Objekt in die ArrayListe adden. Schlussendlich sollte das in etwa so aussehen:
Themen (aus der Klasse storehouse instanziiert)
-> Mathe (aus der Klasse thema inst.)
-> Deutsch (aus der Klasse thema inst.)
-> Englisch (aus der Klasse thema inst.)
-> Französisch (aus der Klasse thema inst.)
Die Deklaration sieht so aus:
Die Instanziierung:
Ich wollte dann in einer Methode so ein neues Objekt adden:
Nun kommt mein Problem. Anscheinend wird so wie ich das implementiert habe nur eine Referenz auf das gleiche Objekt gespeichert.
Ich dachte ich könnte jedes mal ein leeres Objekt adden und diesen dann mit der Indexnummer in der ArrayListe manipulieren, aber anscheinend habe ich mich fatal geirrt. Mein Irrtum hat zur Folge das all meine Themen gleich heissen und ich ein riesen Chaos in meinem Programm habe. Habe ich etwas falsch gemacht? Ist meine Idee irgendwie implementierbar? Und wie könnte ich das Problem lösen?
Bin für jede erdenkliche Hilfe dankbar!
ich habe ein Problem mit meinem Programm. Ich habe eine ArrayList in der jeweils 1 Objekt mehrmals gespeichert wird. Das Objekt selbst ist aus einer Klasse instanziiert die Thema heisst. Ich wollte ein Input-File lesen und dann pro Thema (jeweils markiert, Nebensache) ein neues Objekt in die ArrayListe adden. Schlussendlich sollte das in etwa so aussehen:
Themen (aus der Klasse storehouse instanziiert)
-> Mathe (aus der Klasse thema inst.)
-> Deutsch (aus der Klasse thema inst.)
-> Englisch (aus der Klasse thema inst.)
-> Französisch (aus der Klasse thema inst.)
Die Deklaration sieht so aus:
Code:
ArrayList<Thema> storehouse;
Thema theme;
Die Instanziierung:
Code:
storehouse = new ArrayList<Thema>();
theme = new Thema();
Ich wollte dann in einer Methode so ein neues Objekt adden:
Code:
storehouse.add(theme);
(storehouse.get(ind1)).setName(inhalt);
Nun kommt mein Problem. Anscheinend wird so wie ich das implementiert habe nur eine Referenz auf das gleiche Objekt gespeichert.
Bin für jede erdenkliche Hilfe dankbar!