class MyComp implements Comparator<Student>
{
public int compare(Student s1,Student s2)
{
int temp=s1.getName().compareTo(s2.getName());
if(temp==0)
return s1.getAge()-s2.getAge();
return temp;
}
}
在这个比较器类中,我们要复写其compare方法,主要条件是姓名,次要条件是年龄。
今天突然想到一个问题想不通,那就是如果我们比较一下两个对象
new Student("abc",22);
new Student("abc",30);
那么根据程序,返回的应该是-8。
如果我们比较另外两个对象
new Student("abc",22);
new Student("bbc",22);
那么返回的应该是-1
我的意思是既然不管比较名字还是年龄都是返回一个整数,那么这个返回值跟是否为主要条件有关系吗还? |