我正在学习数组,我的一个数组包含一个姓氏,名字和分数。
我需要编写一个compareTo
方法来比较姓氏和名字,以便可以按姓氏的字母顺序排序,如果两个人有相同的姓氏,则按名字排序。
我感到困惑,因为我书中的所有信息都是比较数字,而不是对象和字符串。
以下是我目前编写的代码。我知道它是错误的,但至少解释了我认为自己在做什么:
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;
}
我知道 <
和 >
符号是错误的,但是就像我说的,我的书只告诉你如何使用 compareTo
。
someString < someOtherString
,那就没有太大必要用到compareTo
了... - cHao