首先看看他们都是干啥得
==是一种运算符,对于基础数据类型,是作为数值比较是否相等。
对于对象,是比较对象得地址是否一致。
equals是Object这个超类提供得方法,查看底层实现
public boolean equals(Object obj)
{
return this == obj;
}
没错,还是调用了 == 运算符,所以呢本质没什么区别。
但是在实际过程中,是要重写equals得,因为大多数比较都是比较对象内部得某些属性值,而==还是同样比较地址,因此区别在此。