栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

==运算符和equals()有什么区别?(使用hashcode()???)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

==运算符和equals()有什么区别?(使用hashcode()???)

==运算符确定2个引用是否指向同一对象。

所以

 Object o1 = new Object(); Object o2 = o1; o1 == o2; //true o2 = new Object(); o1 == o2 // false

Object.equals()方法是“如何确定对两个不同对象的引用是否相等?”

如果两个引用指向同一对象,则两者

o1 == o2 o1.equals(o2)

应该是真的。

但是,如果o1和o2不是同一对象,则它们在逻辑上仍 可能
相等。对于任何给定的类,均等取决于对象背后的语义。例如,考虑一个类,其中用户设置了field1和field2,但计算了field3并对其计算具有随机元素。在这种情况下,定义等于仅取决于field1和field2而不是field3可能是有意义的。这就是为什么平等是必要的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号