本帖最后由 皮卫凯 于 2012-9-15 20:57 编辑
public int compareTo(Object obj)
{
if(!(obj instanceof Student)) / /如果对象不是指向学生
throw new RuntimeException("不是学生对象");
Student s = (Student)obj; / /把obj对象 强转成学生
System.out.println(this.name+"....compareto....."+s.name);
if(this.age>s.age)
return 1; //这个return1 是返回到哪里去。
if(this.age==s.age)
{
return this.name.compareTo(s.name);
}
return -1; //返回-1,是返回false的意思。那上面返回的1,是返回true的意思么,为什么不是返回值1,它不是一个具体的值么。
}
谢谢各位,我查api明白了
int compareTo(Object o): 比较当前实例对象与对象o,如果位于对象o之前,返回负值,如果两个对象在排序中位置相同,则返回0,如果位于对象o后面,则返回正值
int compare(Object o1, Object o2): 对两个对象o1和o2进行比较,如果o1位于o2的前面,则返回负值,如果在排序顺序中认为o1和o2是相同的,返回0,如果o1位于o2的后面,则返回正值
|