Como faço para escrever um método compareTo que compara objetos?
Estou aprendendo sobre matrizes e, basicamente, tenho uma matriz que coleta o sobrenome, o primeiro nome e a pontuação.
Eu preciso escrever umcompareTo
método que irá comparar o último nome e, em seguida, o primeiro nome para que a lista possa ser ordenada alfabeticamente, começando pelos sobrenomes, e se duas pessoas tiverem o mesmo sobrenome, ele classificará o primeiro nome.
Estou confuso, porque todas as informações do meu livro estão comparando números, não objetos e Strings.
Aqui está o que eu tenho codificado até agora. Eu sei que é errado, mas pelo menos explica o que eu acho que estou fazendo:
<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>
Eu conheço o<
e>
os símbolos estão errados, mas como eu disse, meu livro só mostra como usar ocompareTo
.