楼主,你还需要对equals的含义认真琢磨下,就说我们定义了一个学生类吧,里面自然的继承了object的equals,如果不复写的话 ,比得就是他们的内存地址是不是一样,如果你想按照学生的年龄对他们排序的时候,你用这个equals 是不是觉得很无力
所以我们就继承comparable方法! 一下是代码
public int compareTo(Object obj)
{
//return 0;
if(!(obj instanceof Student))
throw new RuntimeException("不是学生对象");
Student s = (Student)obj;
//System.out.println(this.name+"....compareto....."+s.name);
if(this.age>s.age)
return 1;
if(this.age==s.age)
{
return this.name.compareTo(s.name);
}
return -1;
/**/
}
这样写了之后,完全可以实现他们的年龄排序了, equals却不具备这样的功能了。 |