der schwarze Rabe: Hashtable: Methode eines Objektes ausführen, die 2.

Ok, also ich habe die Frage zwar schon einmal gestellt,
aber anscheinend so ungenau, das mein Problem nicht so ganz verstanden wurde. Also nochmal:
Ich habe eine Hashtable, die ich als assoziativen Array verwende.
Diese verwaltet eine "Figure"-Objekte(eine selstgeschriebene Klasse).
Ich möchte nun aber Methoden dieses Objektes ausführen.
Bei meinem ersten Anlauf habe ich die Antworten bekommen, ich solle zuerst einen Cast durchführen und dann die Methoden ausführen.
Das sähe dann ja ungefähr so aus:

...
Figure casted = Hashtable.get("Bauer1");
...

Das war mir ja schon vorher bekannt. Das Problem:
In diesem Fall wird eine Kopie des Objektes erzeugt(oder jetzt doch eine Referenz?). Aber diese Funktionen verändern auch Werte in den Objekten, d.h., ich muss beim späteren Aufruf einer anderen Methode eines meiner Objekte auf die VERÄNDERTEN Variablen zugreife können.
Sollte beim obigen Beispiel allerdings tatsächlich nur eine Referenz erzeugt werden(ich bin mir da wirklich nicht sicher), dann waäre natürlich alles klar.

Danke im Vorraus,
euer Rabe ;)

  1. Hallo,

    Das sähe dann ja ungefähr so aus:

    Figure casted = Hashtable.get("Bauer1");

    Nein, so:
      Figure casted = (Figure)deineHashtable.get("Bauer1");

    In diesem Fall wird eine Kopie des Objektes erzeugt

    Nein.

    (oder jetzt doch eine Referenz?).

    Ja.

    Sollte beim obigen Beispiel allerdings tatsächlich nur eine Referenz erzeugt werden(ich bin mir da wirklich nicht sicher), dann waäre natürlich alles klar.

    Meinst du nicht, daß es mit erheblich weniger Aufwand verbunden gewesen
    wäre, wenn du a) in ein Java-Buch geguckt, b) die API-Doku befragt
    oder c) es kurz selbst ausprobiert hättest?

    Vorraus,

    Schreibt man mit nur einem "r".

    Gruß
    Slyh

    --
    Es gibt 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
    Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:} va:} de:] zu:) fl:( ss:) ls:/ js:|