Comparator Fehlermeldung

Diskutiere Comparator Fehlermeldung im Java Basics - Anfänger-Themen Bereich.
H

hummus_13

Hallo, ich habe die Aufgabe bekommen, eine ArrayList von Rechnungen absteigend sortiert nach ihrer Summe auf der Konsole auszugeben. Ich habe versucht, das interface comparable in der Klasse Rechnung zu benutzen, bekomme jedoch immer die Fehlermeldung: "
Cannot invoke compareTo(int) on the primitive type int". Bin am verzweifeln, für jede Hilfe dankbar.
Hier der Code:

public class Rechnung implements Comparable<Rechnung>{

private int summe;


@override
public int compareTo(Rechnung o) {

return this.getSumme().compareTo(o.getSumme());// Fehler tritt auch bei "this.summe..." auf

}
}
//getter&setter auch implementiert



Gibt es eine Alternative zu diesem Ansatz? Vielen Dank im Voraus
 
J

JustNobody

Also auf primitiven Datentypen hast Du nicht diese Funktionen. Du kannst es natürlich zu einem Integer machen. Oder Du vergleichst die Zahlen einfach selbst, denn die int Werte kannst Du mit < und == ja vergleichen.
Sind die Werte gleich gibst Du 0 zurück ansonsten eben -1 oder 1.
 
MoxxiManagarm

MoxxiManagarm

Du könntest es auch ohne das Comparable Interface machen.
Java:
list.sort(Comparator.comparingInt(Rechnung::getSumme).reversed());
 
H

hummus_13

Oder Du vergleichst die Zahlen einfach selbst, denn die int Werte kannst Du mit < und == ja vergleichen.
Sind die Werte gleich gibst Du 0 zurück ansonsten eben -1 oder 1.
Okay und was mache ich dann mit den Ergebnissen die ich erhalten habe? Im Idealfall möchte ich ja anschließend mit "Collections.sort(rechnungen)" arbeiten und diese dann einfach ausgeben
 
Thema: 

Comparator Fehlermeldung

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben