面试中经常会被问到,==和equals的区别,今天我们就来把它搞明白。
首先,java中数据类型分为两种、基础数据类型(byte、char、 short、 int 、 long、 float、 double、boolean)和引用数据类型(对象引用)。
-
基础数据类型中,== 和 equals 都是比较的值
-
引用类型中、
==和equals比较的都是内存地址、但equals被String、Interge、Date等类复写了, 所以equals具体是比较什么,取决于复写后的实现。
代码示例

String中的equals实现

Object中的equals实现
