ArrayList.clear - Daten in allen Referenzen weg

Bazilinho

Mitglied
Hallo liebes Forum!
Ich habe folgendes Problem: Ich muss eine Analyse auf Strings machen. Der Part klappt soweit auch. Jetzt aber folgendes Problem: Da ich anfangs nicht sagen kann, wie viele Strings am Ende dabei rauskommen, verwende ich eine ArrayList<String> mit der die Ergebnisse übergeben werden sollen.
Die Berechnung/Analyse erfolgt in der dn-Klasse!!

Java:
// nomen_erg ist meine ArrayList<String> 
nomen_erg = dn.get_erg();

und hier die dazugehörige Methode aus der dn-Klasse:
Java:
public ArrayList<String> get_erg() {
		return ermitteltes_nomen;
	}

Auch das funktionert soweit noch einwandfrei. Allerdings behalte ich zur weiteren Verarbeitung die Referenz der dn-Klasse im Speicher, damit ich dort nicht immer wieder neue Lese-Operationen durchführen muss.

Rufe ich aber von der ersten Klasse aus über einen Methoden-Aufruf in der dn-Klasse die Methode ArrayList.clear() auf, geht auch die Information in meiner ArrayList nomen_erg verloren.

Was kann ich da machen, weil genau die nomen_erg die Informationen erstmal halten soll....

Ich hoffe, Ihr könnt mir da ein wenig unter die Arme greifen..
Vielen Dank!

Gruß, Bazilinho
 
Java unterstützt nur callByValue, aber eben auf die Referenzen 😉
d.h. es handelt sich um ein & dieselbe Liste die herumgereicht wird, egal wo clear aufgerufen wird...

Mache doch eine Kopie.
 

Zurück
Oben