在java中空字符串检查

Tha*_*nga 2 java

何时a=nullb=null它抛出NPE.

String a,b;

if ((aValue.equals("null")||aValue==null||aValue.isEmpty()) && 
(!bValue.equals("null")||bValue!=null || !bValue.isEmpty()))
Run Code Online (Sandbox Code Playgroud)

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

Era*_*ran 7

aValue==null必须先检查,因为表达式是从左到右计算的,并aValue.equals("null")会抛出一个NullPointerExceptionif aValue==null.

检查bValue应该&&在它们之间具有(AND)条件,因为您需要bValue具有值.同样,bValue!=null应该先评估.

if ((aValue==null||aValue.equals("null")||aValue.isEmpty()) && 
(bValue!=null && !bValue.equals("null") && !bValue.isEmpty()))
Run Code Online (Sandbox Code Playgroud)

顺便说一句,您是否期望aValuebValue永远包含String"空"?这样的价值会代表"没有价值"吗?如果情况并非如此,则.equals("null")不需要进行测试.