轻量级前端框架助力开发者提升项目效率与性能
540
2022-11-01
==与equals的区别(简述)
双等号(==)基本类型判断的是值,引用类型判断是地址且只能是同一类型;equals默认判断使用的是双等号来判断地址值。
通常重写了equals需要重写hashCode,不重写违背了hashCode约定同一对象应返回相同的hash(哈希)值,hashCode默认比较的是地址转为的hash值;不遵守程序并不会因此而不能运行,貌似也没有遵守的必要。
如下代码:只要使用equals判断ID相同就是同一个用户,不重写hashCode调用HashSet的set方法时为2,两个都添加进去了,除了HashSet Java工具类里面还有许多用到hashCode的累
class Demo { public static void main(String[] args) { Member member = new Member(); member.setId(1); Member member1 = new Member(); member1.setId(1); HashSet
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~