Wie schreibe ich eine compareTo-Methode, die Objekte vergleicht?
Ich lerne etwas über Arrays, und im Grunde genommen habe ich ein Array, das einen Nachnamen, einen Vornamen und eine Punktzahl sammelt.
Ich muss eine schreibencompareTo
Methode, die den Nachnamen und dann den Vornamen vergleicht, sodass die Liste alphabetisch sortiert werden kann, wobei mit den Nachnamen begonnen wird. Wenn dann zwei Personen denselben Nachnamen haben, wird der Vorname sortiert.
Ich bin verwirrt, weil alle Informationen in meinem Buch Zahlen, nicht Objekte und Strings vergleichen.
Hier ist, was ich bisher codiert habe. Ich weiß, dass es falsch ist, aber es erklärt zumindest, was ich denke, dass ich tue:
<code>public int compare(Object obj) // creating a method to compare { Student s = (Student) obj; // creating a student object // I guess here I'm telling it to compare the last names? int studentCompare = this.lastName.compareTo(s.getLastName()); if (studentCompare != 0) return studentCompare; else { if (this.getLastName() < s.getLastName()) return - 1; if (this.getLastName() > s.getLastName()) return 1; } return 0; } </code>
Ich kenne das<
und>
Symbole sind falsch, aber wie ich schon sagte, mein Buch zeigt Ihnen nur, wie man das verwendetcompareTo
.