
Java基础
震川先生
这个作者很懒,什么都没留下…
展开
-
为什么要重写hashcode()和equels()
两个对象的hash值相同,继续调用原始equels方法,原始equels方法先比较的是地址,如果实际上是两个不同地址、相同内容的对象,只是hash碰撞导致hash值相同。如果hashcode的值是相同的,此时继续往下调用equesl方法,如果不重写,则先比较的是地址,此时同样也会被判定为不同的对象,被存入到集合中。如果hashcode的值是不同的,此时不会继续往下调用equesl方法,即使是两个相同内容的对象,也会被判定为不同的对象,被存入到集合中。散列集合存储数据的重点在于对象的内容不同,而非地址。原创 2024-02-21 12:07:24 · 510 阅读 · 1 评论 -
&、|、&&、||之间的区别
& 和 || 有时候只判断左边。& 和 | 必须两边都判断。原创 2022-12-23 00:21:33 · 100 阅读 · 0 评论