文章预览
通常情况下,面试我们都会被问到java数据结构,hashmap、hashset等待,但是难免会被问到更加基础的,关于Object的hashcode和equals方法,此文就聊聊关于hashcode和equals能问出什么花样? 1 equals()方法 equals的作用是判断两个对象是否相等,它具有如下5个特性: ①自反性 x.equals(x) 一定返回true ②对称性 x.equals(y)返回true,则y.equals(x) 也返回true ③传递性 x.equals(y)返回true,y.equals(z)返回true,则x.equals(y)返回true ④一致性 如果对象中的信息没有改变,x.equals(y)要么一直返回true,要么一直返回false ⑤对任何不是null的x,想x.equals(null)一定返回false 划重点: (1) 如果对象重写了equals()方法,比较两个对象的内容是否相等 (2) 如果没有重写,比较两个对象的地址值是否相同,等价于“==” 2 hashcode()方法 hashCode函数是用来生成散列码的,什么是散列码呢? 我们知道Map的键值
………………………………