==和equals
==
1.==既可以判断基本类型,也可以判断引用类型。
2.当判断基本类型时,==判断双方的值是否相等。
3。当判断引用类型,==判断引用是否指向同一对象,即比较地址。
equals
在object类中,equals源码为
public boolean equals(object obj){ return(this == obj); }
这时其实equals和==没区别,但object的子类们很多都重写了equals方法,比如String类的equals是比较字符串的长度和内容是否相同,Integer的equals是比较值是否相同。所以要具体看该类源码才知道该类的equals是怎样的。当然,所有类的顶级父类都是Object,所以我们也能重写equals。
经典面试题:==和equals的区别
具体如下图