==和equals()

==和equals()

==(运算符):比较基本数据类型变量,是比较两个值是否相等(不一定类型相同才能比较),布尔类型的除外

​ 比较引用数据类型变量,比较两个对象的地址值是否相等,即两个引用是否指向同一个实体对象

equals()方法使用

  1. 不能比较基本数据类型,只适用引用对象
  2. Object类中equals()定义:
    public boolean equals(Object obj) {
        return (this == obj);
    }

底层还是调用==,比较的是两个对象的地址值是否相等(或者说是比较两个引用的地址值是否相等)

  1. 如果类重写了object类中的equals()方法,则比较的则是对象值是否相等(String,包装类,date,file类)

通常情况,我们自定义的类使用equals(),我们要想比较两个对象的实体内容是否相同,就需要重写equals方法

原文地址:https://www.cnblogs.com/qingfeng5438/p/13670399.html