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。