Object默认的equals是比较两对象的地址值(默认的),这货对于我们来说没什么意义,所以一般建立类时都会重写下这个equals的方法(有用到hashSet/Map的地方还要重写Hashcode()),建立本类特有的判断对象是否相同的依据。
虽然eclipse等有自动的重写工具,但这我贴一个普通版的,毕竟面试什么的有可能问到嘛。
public boolean equals(Object obj){
if(!(obj instanceof Person))
return false;
Person p = (Person)obj;
return this.age == p.age;
} |
|