java equals()用法错误解析
首先,正确的写法是if (null.equals(password1) || "".equals(password1) || !password1.equals(password2))。
然后来解析错误的写法:
主要的错误在password1.equals(null)这一句,这一句错的原因是,password1放在外面,如果它是null,那么就会报空指针异常。而且它应该第一个检查,因为如果password1为null,那么后面的就都不用检查了。
!password2.equals(password1)同上,password2同样可能发生空指针问题,所以要将password1放外面,因为前面已经检测过了,所以如果执行这句,password1肯定不会为null。
另外,也可以写成如下形式:if (StringUtils.isEmpty(password1) || !password1.equals(password2)),StringUtils.isEmpty(password1)就等同于null.equals(password1) || "".equals(password1),只是做了封装而已。
附一句别人对StringUtils的说明:(转)StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。
更多java equals()用法错误解析相关文章请关注PHP中文网!
上一篇: Java中可变长度参数代码详解
推荐阅读
-
java equals函数用法详解
-
java继承学习之super的用法解析
-
java继承学习之super的用法解析
-
java中equals以及==的用法(简单介绍)
-
Java rmi远程方法调用基本用法解析
-
Java访问控制符原理及具体用法解析
-
Java字符串替换函数replace()用法解析
-
dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
-
dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
-
Java NIO异步文件通道原理及用法解析