Hmmm. Ich glaub langsam ich bin zu blöd dafür xD
habe jetzt diesen code hier benutzt fürs compareTo
Code:
public int compareTo(Object o)
{
Brawler otherBrawler = (Brawler) o;
if (this.getSpeed() == otherBrawler.getSpeed())
return 0;
else if(this.getSpeed() > otherBrawler.getSpeed())
return 1;
else
return -1;
}
und zum testen
Code:
System.out.println((BattleList.get(0)).compareTo(BattleList.get(1)));
BattleList ist die ArrayList, die die Brawler enthält.
Nur bekomm ich dann jedes mal beim kompilieren:
cannot find symbol method compareTo(Brawler).
dann hab ich mir überlegt den code so zu verändern, dass es so aussieht:
Code:
public int compareTo(Brawler otherBrawler)
{
if (this.getSpeed() == otherBrawler.getSpeed())
return 0;
else if(this.getSpeed() > otherBrawler.getSpeed())
return 1;
else
return -1;
}
nur dann erhalte ich jedes mal beim kompilieren der Klasse
Brawler is not abstract and does not override abstract method compareTo(java.lang.object) in java.lang.comparable.
wenn ich die klasse dann abstrakt definiere
Code:
public abstract class Brawler implements Comparable{...}
erhalte ich beim kompilieren des eigentlichen Spiels wiederum dieselbe Fehlermeldung wie vorher:
cannot find symbol method compareTo(Brawler)
Habe also jetzt wirklich keine ahnung mehr wie ich dass jetzt coden muss damit es funktioniert :/