Siehe unten.
Die Methode compareTo()
hat eine Referenz auf ein anderes
Monster
-Objekt als Parameter.
class Monster implements Comparable<Monster> { . . . public int compareTo(Monster other) { .... more goes here ... } }
Üblicherweise werden nur einige der Instanzvariablen eines komplexen Objekts von compareTo()
verwendet. Angenommen wir möchten, dass die Monster in aufsteigender Reihenfolge der Trefferpunkte (hit points) aufgelistet werden. Monster mit der gleichen Anzahl von Trefferpunkten werden nach aufsteigender Stärke geordnet.
Es ist leicht, das falsch zu verstehen. Was wir wollen ist, dass compareTo(Monster other)
einen negativen Wert zurückgibt, wenn das Monster, das die Methode aufruft, kleiner ist als das andere Monster.
Hier ist eine teilweise fertige Methode, die das tut:
Wir füllen die Lücken aus.