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