== 操作符和 equals()的区别

==:是一个运算符

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()方法。

posted on 2021-08-21 20:41  Tianhao丶  阅读(57)  评论(0编辑  收藏  举报

导航