1.首先弄懂equals()方法设计的初衷:
我们都知道,String类重写equals()方法,它比较的是两个字符串的内容是否相等,而所有类的祖先类Object类的equals()方法是对两个对象的地址比较,而在我们所设计类中通常比较的是内容,而不是地址,故我们需要重写equals()方法。所以对象内容的比较才是设计equals()的真正目的。
2 equals()方法如何定义
例如,定义一个student类
Class student
{ .
int id;
String name;
int age;
}
如果我们认为如果两个学生姓名相同即为同一个人,此时我们重写equals()方法,以name属性作为依据,所以如何重写equals()方法常常根据需求而定。
3 hashcode如何理解。