==运算符:
1:如果是基本数据类型,那么==比较的是两个变量存储的数据是否相等
2:如果比较的是引用数据类型,那么比较的是两个对象的地址值是否相等,即两个引用是否指向的是同一个对象实体
equals()方法:
1:Object类中的equals方法
public boolean equals(Object obj){
return (this == obj)}
比较的是两个引用是否是同一地址2
2:像String Date等类中的equals方法都是重写过的,比较的是两个对象的实体内容是否相等
3:我们自定义类的时候,如果要使用equals方法,都需要重写equals方法
重写原则:
1:对称性:x.equals(y)= y.equals(x)
2:自反性:x.equals(x)返回true
3:传递性:x.equals(y)返回true y.equals(z)返回true 则x.equals(z)也必须返回true
4:一致性:
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Customer other = (Customer) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}