在java中空字符串检查

时间:2015-07-15 06:10:22

标签: java

a=nullb=null抛出NPE时。

String a,b;

if ((aValue.equals("null")||aValue==null||aValue.isEmpty()) && 
(!bValue.equals("null")||bValue!=null || !bValue.isEmpty()))

我想检查什么时候没有值而b有价值。 如何在没有任何库的情况下使其正常有效。

1 个答案:

答案 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,您希望aValuebValue包含String“null”吗?这样的价值会代表“没有价值”吗?如果不是这种情况,则.equals("null")的测试不是必需的。