F
Flow25
Gast
Hallo zusammen,
ich habe ein großes Problem in meinem aktuellen Projekt. Ich habe zwei Vectoren, die in einer Klasse als private-Objecte (also global) initialisiert werden.
private Vector vec1 = new Vector();
private Vector vec2 = new Vector();
Außerdem habe ich eine Methode meth1 , die sich selbst rekursiv aufruft und den Vector vec1 mit Werten füllt.
(Deswegen initialisiere ich vec1 auch nicht erst in der Methode, wegen der Rekursivität würde vec1 ja immer wieder neu initialisiert werden)
Die Methode gibt am Ende vec1 zurück.
Ganz am Anfang der Klasse mache ich folgendes:
vec2 = meth1(Parameter)
Die Methode wird also aufgerufen und füllt den Vector vec1. Dieser gefüllte Vector wird schließlich vec2 übergeben.
Die Methode meth1 wird an einer anderen Stelle mit völlig anderen Variablen nochmal aufgerufen.
vec1.removeAllElements()
vec3 = meth1(Parameter)
Zunächst wird der vec1 geleert und schließlich in meth1 mit neuen Werten gefüllt.
Komischerweise ändert sich mit dem vec1 auch der Vector vec2!! Dabei hat vec2 doch mit dem zweiten Methoden-Aufruf rein gar nichts zu schaffen! Oder??
Woran kann das liegen???
Gruß Flow25
ich habe ein großes Problem in meinem aktuellen Projekt. Ich habe zwei Vectoren, die in einer Klasse als private-Objecte (also global) initialisiert werden.
private Vector vec1 = new Vector();
private Vector vec2 = new Vector();
Außerdem habe ich eine Methode meth1 , die sich selbst rekursiv aufruft und den Vector vec1 mit Werten füllt.
(Deswegen initialisiere ich vec1 auch nicht erst in der Methode, wegen der Rekursivität würde vec1 ja immer wieder neu initialisiert werden)
Die Methode gibt am Ende vec1 zurück.
Ganz am Anfang der Klasse mache ich folgendes:
vec2 = meth1(Parameter)
Die Methode wird also aufgerufen und füllt den Vector vec1. Dieser gefüllte Vector wird schließlich vec2 übergeben.
Die Methode meth1 wird an einer anderen Stelle mit völlig anderen Variablen nochmal aufgerufen.
vec1.removeAllElements()
vec3 = meth1(Parameter)
Zunächst wird der vec1 geleert und schließlich in meth1 mit neuen Werten gefüllt.
Komischerweise ändert sich mit dem vec1 auch der Vector vec2!! Dabei hat vec2 doch mit dem zweiten Methoden-Aufruf rein gar nichts zu schaffen! Oder??
Woran kann das liegen???
Gruß Flow25