Java:它是Java中,是和亚当夏娃一样的存在( 二 )


利用开发工具快捷键 , Alt+Insert , 会自动帮重写toString()方法 。
二、Object类的equals方法作用:判断其他某个对象是否与此对象“相等” 。
提到equals方法 , 不得不提到一个比较运算符“==” 。
“==”的作用是啥?
①如果比较的是基本数据类型
“==”比较的是值是否相等 。
②如果比较的是引用数据类型
“==”比较的是引用地址是否相同 。
那equals方法和“==”之间有什么区别呢?
下图为Object类的equals()方法:
Object类中的equals()方法就是运算符“==” , 它们是一回事 。

类是引用数据类型 , 所以Object类中的equals()方法 , 比较的是引用地址是否相同 。
那么问题又来了 , String类中的equals方法为何比较的是值是否相等呢?
因为它将equals方法重写了 。
所以 , 同toString方法一样 , 当我们新建一个类的时候 , 一般都会将equals方法重写 。
利用开发工具快捷键 , Alt+Insert , 会自动帮重写equals方法 。
三、Objects工具类Objects是Object的工具类 , 前面也学习过Arrays类是数组的工具类 。
工具类有个特点:方法一般都是静态方法 。
方法可以直接用类名调用 , 不用创建实例对象 。
①直接用Objects工具类类名就可以调用方法 。

②Objects中的equals方法 。
③这种判断方式更加安全 , 不会出现空指针异常 。
什么叫空指针异常呢?
就是如果一个对象为空 , 它调用方法就会出现空指针异常 。
如下图:
object1为空 , 调用equals方法就会报错 , 如果是用Objects类的方法:

Objects.equals(object1object2)
这样写就不会出现空指针异常 。
总结:


推荐阅读