第01篇:Java面向对象深度追问
模块:Java核心基础 |难度:基础 |面试频率:★★★★★
1. == 和 equals() 的区别?为什么 String 要重写 equals 和 hashCode?
核心概念
==和equals()是 Java 中比较两个对象是否"相等"的两种方式,但它们的比较机制完全不同:
| 比较方式 | 作用对象 | 比较内容 |
|---|---|---|
== | 基本类型 / 引用类型 | 基本类型比较值,引用类型比较内存地址 |
equals() | 引用类型 | 默认比较地址,可被子类重写后比较内容 |
底层原理分析
equals()方法定义在Obj