对于基本数据类型:
==的作用是判断左右两个值是否相等
基本数据类型不能使用equals()
对于引用类型:
Java中只有值传递
==比较的是左右两边的地址值是否相同,也就是判断两个对象是否是同一个对象。
equals() : 它的作用也是判断两个对象是否相等。equals()方法存在于Object类中,而Object类是所有类的直接或间接父类。
Object()类中equals()为:
public boolean equals(Object obj) {
return (this == obj);
}
所有的类都直接或间接的继承Object类,如果子类没有重写equals方法,那么就相当于使用==,判断的是两个对象是否相等。
如果子类重写了equals方法,一般会重写为判断两个对象的内容是否相同,如果相同则认为equals()的结果为true,两个对象相等。(大多数情况下都会重写equals方法)