Hi,
ja ich habe nach dem Thema hier schon gesucht und was gefunden, doch
leider erklärt mir das noch nicht meine Frage, also:
Mit Comparable kann ich ja nun N Instanzen einer Klasse sortieren.(indem
ich die compareTo(Object o) korrekt überschreibe)... alles klar.
Aber was ist der Vorteil von Comparator?
Ist das lediglich, dass man damit verschiedenstartige Sortierungen vornehmen kann,
zb.: bei einer Klasse Student einen Comparator fürs Namen Sortieren und einen
fürs Matrikelnr studieren?
Ist das der einzige Vorteil?
ODER: Lassen sich mit einem Comparator auch zwei gaanz verschiedene Typen vergleichen.
zb.: eine Instanz der Klasse Student und eine Instanz der Klasse Artikel...? ist das machbar...?
ja, ich habe es ausprobiert und leider kommt bei mir immer die Fehlermeldung
das ich Klasse A nicht zu Klasse B casten kann, obwohl ich das Casting im Comparator
richtig vorgenommen habe....?
Das ganze Vorhaben habe ich mit 2 verschiedenen Objekten versucht und in eine (genericfreie)
ArrayList gepackt und dann mit Collections.sort(arraylist, new MeinComparator());
probiert..?
Mache ich was falsch, oder ist das dafür nicht vorgesehen?
ja ich habe nach dem Thema hier schon gesucht und was gefunden, doch
leider erklärt mir das noch nicht meine Frage, also:
Mit Comparable kann ich ja nun N Instanzen einer Klasse sortieren.(indem
ich die compareTo(Object o) korrekt überschreibe)... alles klar.
Aber was ist der Vorteil von Comparator?
Ist das lediglich, dass man damit verschiedenstartige Sortierungen vornehmen kann,
zb.: bei einer Klasse Student einen Comparator fürs Namen Sortieren und einen
fürs Matrikelnr studieren?
Ist das der einzige Vorteil?
ODER: Lassen sich mit einem Comparator auch zwei gaanz verschiedene Typen vergleichen.
zb.: eine Instanz der Klasse Student und eine Instanz der Klasse Artikel...? ist das machbar...?
ja, ich habe es ausprobiert und leider kommt bei mir immer die Fehlermeldung
das ich Klasse A nicht zu Klasse B casten kann, obwohl ich das Casting im Comparator
richtig vorgenommen habe....?
Das ganze Vorhaben habe ich mit 2 verschiedenen Objekten versucht und in eine (genericfreie)
ArrayList gepackt und dann mit Collections.sort(arraylist, new MeinComparator());
probiert..?
Mache ich was falsch, oder ist das dafür nicht vorgesehen?