Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果为空,则检查布尔值_Java_Nullpointerexception - Fatal编程技术网

Java 如果为空,则检查布尔值

Java 如果为空,则检查布尔值,java,nullpointerexception,Java,Nullpointerexception,我有上面的表达式,我想检查Boolean值是否为null,以及它是否为if子句中的execute语句,但实际情况是它抛出了一个NullPointerException。我应该怎么做才能用给定的条件对if子句求值valid==null。 提前感谢当然,您的日志对象包含空引用。不能使用空引用调用任何方法。试试这个: Boolean valid = null; if (valid == null) { log.info("******"); } 您应该做的第一件事是问问自己为什么要使用布尔对

我有上面的表达式,我想检查
Boolean
值是否为
null
,以及它是否为if子句中的execute语句,但实际情况是它抛出了一个
NullPointerException
。我应该怎么做才能用给定的条件对if子句求值
valid==null

提前感谢

当然,您的日志对象包含空引用。不能使用空引用调用任何方法。试试这个:

Boolean valid = null;
if (valid == null) {
    log.info("******");
}

您应该做的第一件事是问问自己为什么要使用
布尔对象并将其赋值为null。除此之外,您的代码可以正常工作。可能
log
是一个空引用,您不能对其调用方法。此代码不会引发NullPointerException(除非
log
null
),可能是您的“log”对象未实例化。实际上,它不会引发NullPointerException。不过,如果您解除布尔值的绑定,或者尝试
if(valid)
谢谢大家,这将发生。我忘记了在表达式“valid==null”之前,我首先检查了它的“!valid”,因此我得到了NPE,因为第一个表达式的计算结果是它是否包含false值。
Boolean valid = null;
if(valid == null) {
     System.out.println("Hello");
}