equals方法的重写,一般是因为原有的equals方法无法满足我们所要比较的对象
原有的equals方法:
public boolean equals(Object object) {
if (object == this) {
return true;
}
return false;
}
equals方法重写的要求:
1.object不为空,用==比较
2.object的对象来自类(重写equals的类),用instanceof来比较
3.匹配属性
当然equals还有更详细的要求,可以看看JAVA编程思想
public class Equals {
int x;
int y;
public boolean equals(Object object) {
if (object == null) {
return false;
}
if (object instanceof Equals) {//判断object类型
Equals o=(Equals)object;//强制类型转换,可能object是子类
return o.x == this.x&&o.y == this.y;//匹配属性
}
return false;
}
}
Hashcode方法重写要求:
1.对同一对象多次调用,返回相同的整数,前提是将对象进行equals比较时所用信息没有被修改.
2.两个对象相同,调用Hashcode必须生成相同的整数结果
3.两个对象不相同,调用hashcode必须生成不同的整数结果
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦