Java 中 Equals和==的区别

Posted book808

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中 Equals和==的区别相关的知识,希望对你有一定的参考价值。

equals和==的区别

equals方法最初是在所有类的基类Object中进行定义的,源码是

1
2
3
public boolean equals(Object obj) {
    return (this == obj);
    }

  由equals的源码可以看出这里定义的equals与==是等效的(Object类中的equals没什么区别),不同的原因就在于有些类(像String、Integer等类)对equals进行了重写,但是没有对equals进行重写的类(比如我们自己写的类)就只能从Object类中继承equals方法,其equals方法与==就也是等效的,除非我们在此类中重写equals。

以上是关于Java 中 Equals和==的区别的主要内容,如果未能解决你的问题,请参考以下文章

java equals 和 == 区别

Java 中 equals 和 == 的区别

java 中equals和==的区别

如何重构这个 Java 代码片段

[转]Java中==和equals的区别,equals和hashCode的区别

java中==和equals的区别详解