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。

posted @ 2018-01-30 02:53  Booker808  阅读(140)  评论(0编辑  收藏  举报