==:
它是判断两个对象的地址是否相等。也是说这两个对象是不是同一个对象。基本数据类型==比较的是值,引用数据类型==比较的是内存的地址。
equals:
Object的equals等价与==,下面看一下源码
既然如此,那为什么面试题会问这个问题呢?
是因为有部分类重写了equals方法。
例如String类
例如File类
例如Date类等等
以上类都继承了Object的equals方法,并进行了重写,所以以上类的equals方法的功能都是根据重写方法中内容来决定的,一般情况下会将equals重写为类中相应属性是否相同。