equals方法中变量在前和在后的区别

简介: equals方法中变量在前和在后的区别

如果是两个都是变量,那就放哪都行没啥区别


如果有一个是常量一个变量的情况下,因为equals()方法是在Object类里定义的,也就是说任何对象都可以调用equals()方法,但是对象在调用方法的时候,如果对象为null那系统运行就会报空指针异常,出现异常这显然是我们不愿意看到的;


如果把变量放在前面也就相当于是调用了这个变量的equals方法,那么如果此变量为空的时候就会报NullPointException了,所以肯定是把常量放前面会好些了啊;这样,我们就不用做空指针的异常处理了


建议使用官方提供的工具类:


StringUtils.equals(String str1, String str2)


源码利用三元表达式很好的规避了null,空指针异常这个问题,如下图所示

相关文章
|
Unix Docker 容器
Is the docker daemon running?
Is the docker daemon running?
4257 0
|
Docker 容器
docker备份容器到本地(以及恢复)
docker备份容器到本地(以及恢复)
1539 0
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
995 2
|
SQL XML Java
mybatis实现动态sql
MyBatis的动态SQL功能为开发人员提供了强大的工具来应对复杂的查询需求。通过使用 `<if>`、`<choose>`、`<foreach>`等标签,可以根据不同的条件动态生成SQL语句,从而提高代码的灵活性和可维护性。本文详细介绍了动态SQL的基本用法和实际应用示例,希望对您在实际项目中使用MyBatis有所帮助。
697 11
|
存储 NoSQL 关系型数据库
微服务Zipkin链路追踪原理,图解版,一文吃透!
本文重点讲解Zipkin链路追踪的原理与使用,帮助解决微服务架构下的服务响应延迟等问题,提升系统性能与稳定性。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
微服务Zipkin链路追踪原理,图解版,一文吃透!
|
应用服务中间件 nginx
nginx配置gzip压缩
nginx配置gzip压缩
267 1
|
JSON JavaScript 前端开发
一篇文章讲明白json文件格式详解
一篇文章讲明白json文件格式详解
1064 0
|
Java uml
liteflow学习二
liteflow学习二
651 0