Java 中的 == 和equals 到底有啥区别

416 阅读1分钟

面试中经常会被问到,==equals的区别,今天我们就来把它搞明白。

首先,java中数据类型分为两种、基础数据类型(byte、char、 short、 int 、 long、 float、 double、boolean)和引用数据类型(对象引用)。

  • 基础数据类型中,== 和 equals 都是比较的值

  • 引用类型中、==equals 比较的都是内存地址、但equalsStringIntergeDate等类复写了, 所以equals具体是比较什么,取决于复写后的实现。

代码示例

代码示例

String中的equals实现

String中的equals实现

Object中的equals实现

Object中的equals实现