1)对于==,比较的是值是否相等
如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
如果作用于引用类型的变量,则比较的是所指向的对象的地址
2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,所有的类继承Object类的equals方法,比较的是是否 是同一个对象,Object类中equals方法
public boolean equals(Object obj) {
return (this == obj);
},
也就是说,equals本身和==没有区别,对于基本数据都是比较值,对于对象都是比较是否为内存地址,其他类在继承 Object类之后对equals方法重写,所以表现的是比较里面的内容.....
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。