Comment puis-je écrire une méthode compareTo qui compare les objets?

Je suis en train d'apprendre sur les tableaux, et en gros j'ai un tableau qui recueille un nom, prénom, et le score.

J'ai besoin d'écrire un compareTo méthode qui permettra de comparer le nom puis le prénom de sorte que la liste peut être triée par ordre alphabétique en commençant par les noms de famille, et puis, si deux personnes ont le même nom de famille, alors il sera de trier la première nom.

Je suis confus, parce que toutes les informations dans mon livre est celui de la comparaison des nombres, pas des objets et des Cordes.

Voici ce que j'ai codé jusqu'à présent. Je sais que c'est mal, mais au moins il explique ce que je pense je suis en train de faire:

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

Je sais que le < et > symboles sont mauvais, mais comme je l'ai dit mon livre vous montre seulement comment utiliser le compareTo.

  • Si vous pouviez juste de dire someString < someOtherString, il n'y aurait pas besoin de beaucoup pour compareTo...
InformationsquelleAutor Jeremy B | 2012-04-04