Probleme mit Comparable, compareTo()

  • Themenstarter Themenstarter Gelöschtes Mitglied 28770
  • Beginndatum Beginndatum
G

Gelöschtes Mitglied 28770

Gast
Hallo Leute,

habe folgendes Problem ich habe ein Array tree[] vom typ Object und möchte dann jeweils 2 Objekte vergleichen. Dies mache ich wie folgt:

Java:
if(((Comparable<T>) tree[index]).compareTo((T) tree[parent]) > 0)

Das Array ist vom Typ Object da es in der Angabe so vorgegeben ist. Ich teste das Programm mit Integer Werten. Beim Testen bin ich drauf gekommen, dass diese Vergleichsoperation anscheinend nicht funktioniert. Habt ihr vielleicht alternativ Vorschläge?
(Ich habe das Comparable Interface auch wie laut Angabe implementiert: public class ... <T extends Comparable<T>>)

Danke für eure Hilfe!


lg
 
Also erst einmal: Was genau hast du eigentlich vor? Generell sollte der Vergleich funktionieren!

(Ich habe das Comparable Interface auch wie laut Angabe implementiert: public class ... <T extends Comparable<T>>)
???:L Da hast du wohl etwas verwechselt, bzw bringst einige Begrifflichkeiten durcheinander. Comparable (compareTo) wird bereits durch die Klasse Integer implementiert, denn da steht dann irgendwo implements Comparable<Integer> !

Das <T extends Comparable<T>> sorgt nur dafür, dass du in deiner Klasse z.B. kein
new Bar<Foo>(); schreiben kannst, wenn Foo nicht das Interface implementiert--> du also nur Comparables halten kannst!
Implementiert wird es aber an einer anderen Stelle.
Was genau funktioniert denn auch nicht? Wie sieht denn dein "Test" aus ?
 
Hab jetzt nochmal wirklich alles getest, und der Source funktioniert wirklich. Der Fehler im Program ist wo anders gelegen.
Aber trd vielen Dank für die schnelle Antwort.

lg
 

Zurück
Oben