Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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.lang.NullPointerException at booleanValue()_Java - Fatal编程技术网

Java:Java.lang.NullPointerException at booleanValue()

Java:Java.lang.NullPointerException at booleanValue(),java,Java,我有一个返回true/false/null的函数foo() 我有一段代码: Boolean flag = foo(); if (flag != null){ ..... } 检查if语句时,我得到以下异常:java.lang.NullPointerException at booleanValue() 似乎它试图评估其原始值并进行比较。然而,这是我不希望它做的。我想检查它是否已初始化 有什么想法吗 谢谢 这段代码运行得很好,所以问题在别处 这段代码运行得很好,所以问题在别处 该错误表明发生了类

我有一个返回true/false/null的函数foo()

我有一段代码:

Boolean flag = foo();
if (flag != null){
.....
}
检查
if
语句时,我得到以下异常:
java.lang.NullPointerException at booleanValue()

似乎它试图评估其原始值并进行比较。然而,这是我不希望它做的。我想检查它是否已初始化

有什么想法吗

谢谢

这段代码运行得很好,所以问题在别处


这段代码运行得很好,所以问题在别处

该错误表明发生了类似的情况:

Boolean iAmNothing = null;
boolean crash = iAmNothing.booleanValue(); // throws NPE
或者使用outboxing(Java 1.5+):


代码片段没有显示这些问题,因此NPE要么出现在if语句后面的块中的其他地方,要么您使用的不是SUN jdk,而是具有不同行为的另一个

该错误表明发生了类似的情况:

Boolean iAmNothing = null;
boolean crash = iAmNothing.booleanValue(); // throws NPE
或者使用outboxing(Java 1.5+):


代码片段没有显示这些问题,因此NPE要么出现在if语句后面的块中的其他地方,要么您使用的不是SUN jdk,而是具有不同行为的另一个

您显示的代码应该很好-我怀疑您的问题出在其他地方。请展示一个简短但完整的程序来演示问题。或者,这可能与您执行“检查”的方式有关。代码是否按预期运行?这只是调试器的问题吗?如果是,您是如何调试的?在哪个调试器中调试的?您确定吗?请发布实际代码(带行号!)和实际异常stacktrace。绝对不要使用!=假的?你是如何检查这份声明的?当您检查时,您的调试器可能正在将其转换为bool。根据graphain的注释,并且由于名称
booleanValue()
没有出现在您的代码中,它是否与此调试器方法有关:您显示的代码应该没有问题-我怀疑您的问题出在其他地方。请展示一个简短但完整的程序来演示问题。或者,这可能与您执行“检查”的方式有关。代码是否按预期运行?这只是调试器的问题吗?如果是,您是如何调试的?在哪个调试器中调试的?您确定吗?请发布实际代码(带行号!)和实际异常stacktrace。绝对不要使用!=假的?你是如何检查这份声明的?当您检查时,调试器可能正在将其转换为布尔值。根据graphain的注释,并且由于名称
booleanValue()
没有出现在您的代码中,它是否与此调试器方法有关:谢谢大家,Ther simple code Boolean flag=null;如果(标志!=null)。。。其他的对我也有用。这很奇怪,但我已经找到了解决办法。当我有时间的时候,我会回到这里,在这里发布解决方案。谢谢:)谢谢你们,简单的代码布尔标志=null;如果(标志!=null)。。。其他的对我也有用。这很奇怪,但我已经找到了解决办法。当我有时间的时候,我会回到这里,在这里发布解决方案。谢谢:)
Boolean iAmNothing = null;
boolean crash = iAmNothing;                // throws NPE