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

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

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


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


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


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


StringUtils.equals(String str1, String str2)


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

相关文章
|
8月前
|
算法 Java 索引
equals方法和hashCode方法之间的那些事(1.1)
equals方法和hashCode方法之间的那些事(1.1)
|
9月前
|
存储 Java
引以为戒:避免在Set中使用未重写equals和hashCode的引用对象进行去重
在日常的Java开发中,我们经常会使用Set集合来实现去重操作,确保集合中不含有重复的元素。然而,如果使用未重写equals()和hashCode()方法的引用对象进行去重,可能会导致意外的行为,最近了在项目中就遇到了这个情况,让我们深入探讨这个问题,并引以为戒,确保正确实现去重操作。
45 0
引以为戒:避免在Set中使用未重写equals和hashCode的引用对象进行去重
|
存储 Java
详解“==”和equals的区别
“==”和equals 最大的区别是 “==”是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值。 equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重写之后比较的是对象的值。
|
存储 Java
“==”和equals 最大的区别
“==”和equals 最大的区别是 “==”是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值。 equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重写之后比较的是对象的值。
|
存储
"=="和 equals 方法究竟有什么区别?
"=="和 equals 方法究竟有什么区别?
99 0
|
Java API
Java - equals 方法变量和常量位置区别
Java - equals 方法变量和常量位置区别
197 0
Java - equals 方法变量和常量位置区别
|
Java Android开发
equals 为什么要把常量写在前面?
equals 为什么要把常量写在前面?
|
存储 Java
每天一个知识点(五)两个对象的 hashCode()相同,则 equals()也一定为 true吗?
两个对象的 hashCode()相同,则 equals()也一定为 true吗?
|
Java
为什么不建议用 equals 判断对象相等?
一直以为这个方法是java8的,今天才知道是是1.7的时候,然后翻了一下源码。
179 0
为什么不建议用 equals 判断对象相等?