==:是一个运算符
1、可以使用在基本数据类型变量和引用数据类型变量中
2、如果比较的是基本数据类型变量,比较两个变量保存的数据,是否相等,(不一定类型相同)
3、如果比较的是引用数据类型变量,比较两个对象的地址值,是否相等。
equals():是一个方法
1、A.equals(B),返回true或者false
2、只能够适用于引用数据类型
3、Object类中equals()方法的定义:
public boolean equals(Object obj) {
return (this == obj);
}
此时表明:在Object类中定义的equals()方法和“==”运算符的作用是相同的;
4、像String、Data、File、包装类等,都重写了Object类中的equals()方法。重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的 "实体内容" 是否相同。
5、通常情况下,我们自定义的类如果使用equals()的话,也通常是比较两个对象的 “实体内容”,是否相同,那么我们就需要重写Object类中的equals()方法。