Jak napisać metodę compareTo, która porównuje obiekty?

Uczę się o tablicach i zasadniczo mam tablicę, która zbiera nazwisko, imię i wynik.

Muszę napisaćcompareTo metoda, która porówna nazwisko, a następnie imię, aby lista mogła być posortowana alfabetycznie, począwszy od nazwisk, a następnie, jeśli dwie osoby mają to samo nazwisko, sortuje imię.

Jestem zdezorientowany, ponieważ wszystkie informacje w mojej książce to porównywanie liczb, a nie obiektów i ciągów.

Oto, co do tej pory zakodowałem. Wiem, że to źle, ale przynajmniej wyjaśnia to, co myślę, że robię:

<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>

Wiem, że< i> symbole są błędne, ale tak jak powiedziałem moja książka pokazuje tylko, jak używaćcompareTo.

questionAnswers(9)

yourAnswerToTheQuestion