compareTo Methode wird ignoriert

xlChaos

Mitglied
Hallo zusammen,

ich wieder 😛

Ich bin gerade dabei das Thema mit der Sortierung zu lernen und stecke mit dem Comparable Interface fest.

Es geht darum, dass ich Studenten in einer LinkedList habe, die nach ihrem Vornamen z.B. sortiert werden. Egal was ich in die compareTo Methode schreibe... Er sortiert immer nur nach dem Nachnamen.


[CODE lang="java" title="comparteTo Methode in Studenten Klasse"]public int compareTo(Student o) {
// TODO Auto-generated method stub
// if (jahrgang == o.jahrgang)
// return 0;
// else if(this.jahrgang > o.jahrgang)
// return 1;
// else
// return -1;

return this.getVorname().compareTo(o.getVorname());
}[/CODE]

[CODE lang="java" title="Main"] public static void main(String[] args) {
Student first = new Student("Mueller", "Markus",1990);
Student second = new Student("Althoff", "Zohan", 1991);
Student third = new Student("Schmidt", "Sebastian", 1992);
Student thourd = new Student("Schmidt", "Sebastian", 1992);

List<Student> studenten1 = new LinkedList<Student>();
studenten1.add(first);
studenten1.add(first);
studenten1.add(second);
studenten1.add(third);

Collections.sort(studenten1);

for(Student s: studenten1) {
System.out.println(s);
}
}[/CODE]
 
Java:
public class Student implements Comparable<Student>{
    private String nachname;
    private String vorname;
    private int jahrgang;
    private int matrikelNummer;
    private int creditPoints;
    private boolean istImmatrikuliert;
    
    public Student(String nachname, String vorname, int jahrgang) {
        super();
        this.nachname = nachname;
        this.vorname = vorname;
        this.jahrgang = jahrgang;
        this.matrikelNummer = matrikelNummer;
        this.creditPoints = creditPoints;
        this.istImmatrikuliert = istImmatrikuliert;
    }

Ich denke mal die ganzen getter und Setter Methoden sind uninteressant 😀
 
Ich bin echt blinder als sonst was...
Ich hab den Fehler gefunden. Mal wieder ein lebender Beweis dafür, dass der Fehler meistens vorm Bildschirm sitzt 😀

Meine Main Methode hat eine andere Studentenklasse importiert, wo es gar kein comparable Interface gibt...

Danke für den Denkanstoß!
 

Zurück
Oben