nextElement() liefert immer gleiches Objekt

Hallo,

ich habe zwar das Problem mittlerweile anders gelöst, trotzdem würde mich interessieren ob jemand schon ein Phänomen ähnlicher Art und Weise entdeckt hat, oder ob ich einen Fehler in der Implementierung habe.

Bsp.:
Ich habe ein Hashtable mit diversen Objekten, und will mit einer Enumeration prüfen ob ein Objekt mit denselben werten bereits darin enthalten ist.

Die Methode sieht wie folgt aus, wichtig daran ist eigentlich nur die for-Schleife:

private static boolean databaseCheck(Transfer trans){
Hashtable dbContent = SeekTransfer.getTransfersByDate(trans.getDate);
for (Enumeration e = dbContent.elements();
e.hasMoreElements():wink: {
Transfer dbRecord = (Transfer) e.nextElement();
if(dbRecord.equals(trans)){
return true;
}
}
return false;
}

wenn ich nun die for-Schleife durchlaufe, wird jedes mal das Selbe Objekt aus der Enumeration ausgewählt, irgendwie scheint da nextElement() nicht richtig zu funktionieren.

„containsValue()“ und „containsKey()“ kann ich nicht verwenden, da im Objekt sowohl Werte als auch Keys enthalten sind. die Prüfung aber ID unabhängig verlaufen soll.

Hallo,

Selbe Objekt aus der Enumeration ausgewählt, irgendwie scheint
da nextElement() nicht richtig zu funktionieren.

Ist mir so noch nicht untergekommen. Hast du mal den netten
Debugger von nebenan druebersteppen lassen?

Gruss, Patrick

Hallo,

hast du mal angeschaut, was in deiner Hashtable wirklich für Objekte drinstehen? Vielleicht hast Du das eine ja wirklich massenhaft drin.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

An Patrick und Peter,

Hallo Ihr beiden,
Habe eigentlich alles überprüft was mir bekannt ist. In meinem Hashtable sind definitiv 9 verschiedene Elemente. Zuerst habe ich dass im Debugger von Eclipse gesehen, da ich aber aus früheren Zeiten weiß(ob das bei der aktuellen Version noch vorkommen kann weiß ich allerdings nicht) das Eclipse im Debugger mal ab und zu ein paar Elemente eines Hashtables nicht anzeigt, habe ich mir jedes Element von welchem ich weiß das es drin sein muss, händisch ausgeben lassen.
„Was nun¿?“ sprach Zeus

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke, Problem gelöst.
OK, wer lesen kann ist klar im Vorteil.
Alles wieder zurück… Ihr hattet natürlich vollommen recht… meine Elemente im Hashtable waren alle die Selben. Nur eben mit unterschiedlichen Key’s.
Der Fehler pasierte beim befüllen des Hashtables (aus einem ResultSet) als ich meine Objekte nur einmal instanziiere und dieses jedes mal überschreibe :smile:
Schande über mein Haupt, und danke für den Denkanstoss.

Ganz nebenbei, Iterator sollte nach neuem Standard vorgezogen werden :smile:

Ganz nebenbei, Iterator sollte nach neuem Standard vorgezogen
werden :smile:

Warum? Bitte Quelle oder Sinn angeben :smile:

Habe noch nie mit Iterator gearbeitet. Wie bekomme ich aus einem Hashtable einen Iterator?