在一个条件语句中检查2字符串相等和无效

时间:2017-10-24 11:59:45

标签: java

我使用下面的代码检查2个字符串是否相等但在比较字符串之前我需要确保字符串1不为空(而string2是常量且不能为null)。为了得到这个,我使用下面的代码

if(string1 != null && string1.equals(string2)) {

}

java中是否有任何可能的方法在一个语句中检查?我的意思是在单一条件下检查null和相等。

2 个答案:

答案 0 :(得分:12)

是的,转过来。由于if(string2.equals(string1)){ .. } 不能为null,请使用

NullPointerException

此代码

  • 无法生成string2(假设false 真的永远不会为空)
  • 如果string1null
  • ,则返回{{1}}
  • 同时检查是否相等

答案 1 :(得分:1)

使用对象#equals:

https://docs.oracle.com/javase/8/docs/api/java/util/Objects.html#equals-java.lang.Object-java.lang.Object-

Objects.equals("s1", "s1") ==> true
Objects.equals(null, "s1") ==> false
Objects.equals("s1", null) ==> false
Objects.equals(null, null) ==> true