【一线大厂Java面试题合集】第01篇-Java面向对象深度追问

【一线大厂Java面试题合集】第01篇-Java面向对象深度追问

第01篇:Java面向对象深度追问

模块:Java核心基础 |难度:基础 |面试频率:★★★★★


1. == 和 equals() 的区别?为什么 String 要重写 equals 和 hashCode?

核心概念

==equals()是 Java 中比较两个对象是否"相等"的两种方式,但它们的比较机制完全不同:

比较方式作用对象比较内容
==基本类型 / 引用类型基本类型比较值,引用类型比较内存地址
equals()引用类型默认比较地址,可被子类重写后比较内容

底层原理分析

equals()方法定义在Obj