MichiLee: MichiLee

Beitrag lesen

Hi,

Erstmal: was hast Du denn genommen, dass Du so einen verplanten Beitrag geschrieben hast? :) Wobei ich die Vertauschung von Thema und Nick schon recht gut finde.

sorry, war voll verplant. Hier mal der Code der in einer Methode ist, welches eine Hashtable zurückgibt:

Hashtable<String, Vector<Object>> hashes = new Hashtable<String, Vector<Object>>();

Vector<String> vect_1 = new Vector<String>(); //Hier sind 4 Strings drin
Vector[] vect_2 = new Vector[4];

//vect_2 wird dann mit Instanzvariablen/Attributen (Objekte) einer anderen Klasse gefüllt

[0] -> Obj1, Obj2, Ob3
[1] -> Obj3, Obj4, Ob5
[2] -> Obj6, Obj7, Ob8
[3] -> Obj9, Obj10, Ob10

while (i < vect_1.size()) {
    hashes.put(vect_1.elementAt(i),vect_2[i]);
   i++;
}

return hashed;

1. Wenn ich nun das Hash zurückgeben sollte, und später sich die Instanz bzw. das Attribut der anderen Klasse ändert sollte, ändern sich auch der Wert in hashes?

2. Wenn ich den Vector vect_2 nicht durch Objekte von einer anderen Klasse, sondern durch irgendwelche Objekte gefüllt hätte, die ich temporär/lokal in der Methode oben angelegt habe und das Hash zurückgebe, wie verhält sich das ganze an (Hoffentlich habe ich mich verständlich ausgedrückt)
Das lokale Objekt ist ja nach dem return dann weg, bzw. nicht mehr genutzt. Bzw. wenn zeitversetzt nochmals die Methode aufgerufen wird und dann nochmals das temporäre Objekt gebildet wird, um ein Hash zurückzugeben. Das hätte dann vermutlich keine Auswirkung auf das Hash, was davor zurückgegeben wurde oder?
Ah, ich denke wieder zu viel um die Ecken ;)

[...]
Was wäre, wenn ich da nun anstatt ein EigenesObj ein String drinnen hätten: Obj1, Obj2, Obj3, "br", Obj4, Obj5, Obj6, "br"
Wie würde ich das dann in der If-Abfrage checken?

if(xy instanceof String)

Könnte ich in die IF-Abfrage auch gleich dann packen, ob er String ist, wenn ja, ob der Inhalt "br" ?

if (xy instanceof String && xy.equals("br"))

Sollte halt ein String sein, denn wenn es keine instanceof von String ist, sondern von was anders, dürfte .equals bei einer eigenen Klasse nicht gehen.

Grüße