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)
这样写就不会出现空指针异常 。
总结:
推荐阅读
- 『Java』java数据结构系列——什么是数据结构
- 『Java』马云:成功人跟普通人差不多,但这三点我一定要分享给所有年轻人
- #Java#java线程到底有多少种状态?
- #智能手表#1、初识java-1
- [华为]有朋友问我“JAVA全栈”、“互联网架构师”和“JAVAEE”到底是什么?
- 「javascript」这边走Javascript了解一下
- 【伽利略】光速刚好是这个数值,它是被设计出来的,还是只是一种巧合?
- 「华为」一篇有趣的Java class
- struts@Java面试之项目面试问题——不看面试会后悔的
- 「Java」六面蚂蚁金服,唬住了面试官要了30K;其实Java面试也没那么难