专栏名称: 顶尖架构师栈
分享业务架构、技术架构、系统设计方案,以及微服务架构源码,提供业务场景答疑
目录
相关文章推荐
今天看啥  ›  专栏  ›  顶尖架构师栈

【第6期】hashcode和equals能问出什么问题?

顶尖架构师栈  · 公众号  ·  · 2024-09-06 07:40

文章预览

    通常情况下,面试我们都会被问到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的键值 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览