当a=null
和b=null
抛出NPE
时。
String a,b;
if ((aValue.equals("null")||aValue==null||aValue.isEmpty()) &&
(!bValue.equals("null")||bValue!=null || !bValue.isEmpty()))
我想检查什么时候没有值而b有价值。 如何在没有任何库的情况下使其正常有效。
答案 0 :(得分:7)
aValue==null
,因为表达式是从左到右进行评估的,如果aValue.equals("null")
NullPointerException
会抛出aValue==null
。
bValue
的检查在它们之间应该有&&
(AND)条件,因为您需要bValue
来获取值。同样,应首先评估bValue!=null
。
if ((aValue==null||aValue.equals("null")||aValue.isEmpty()) &&
(bValue!=null && !bValue.equals("null") && !bValue.isEmpty()))
BTW,您希望aValue
或bValue
包含String
“null”吗?这样的价值会代表“没有价值”吗?如果不是这种情况,则.equals("null")
的测试不是必需的。