¿Cómo escribo un método compareTo que compara objetos?
Estoy aprendiendo sobre matrices, y básicamente tengo una matriz que recopila un apellido, un nombre y una puntuación.
Necesito escribir uncompareTo
método que comparará el apellido y luego el primer nombre para que la lista pueda ordenarse alfabéticamente comenzando con los apellidos, y luego, si dos personas tienen el mismo apellido, se ordenará el primer nombre.
Estoy confundido, porque toda la información en mi libro está comparando números, no objetos y cadenas.
Aquí está lo que he codificado hasta ahora. Sé que está mal, pero al menos explica lo que creo que estoy haciendo:
<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>
Sé que el<
y>
los símbolos son incorrectos, pero como dije, mi libro solo muestra cómo usar elcompareTo
.