我有以下代码:
Boolean bool = null;
try
{
if (bool)
{
//DoSomething
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
为什么我对布尔变量“bool”的检查导致异常?
当它“看到”它不是真的时,它不应该直接跳过if语句吗?
当我删除if语句或检查它是否为非空时,异常消失了。
使用Apache BooleanUtils。
(如果最佳性能是项目中最重要的优先级,那么请查看不需要包含外部库的本地解决方案的其他答案。)
不要白费力气。利用已经构建的内容并使用isTrue():
BooleanUtils.isTrue( bool );
检查布尔值是否为true,通过返回false处理null。
如果您不局限于“允许”包含的库,那么对于各种用例(包括布尔值和字符串值),有很多很棒的帮助函数。我建议您仔细阅读各种Apache库,看看它们已经提供了什么。
使用Apache BooleanUtils。
(如果最佳性能是项目中最重要的优先级,那么请查看不需要包含外部库的本地解决方案的其他答案。)
不要白费力气。利用已经构建的内容并使用isTrue():
BooleanUtils.isTrue( bool );
检查布尔值是否为true,通过返回false处理null。
如果您不局限于“允许”包含的库,那么对于各种用例(包括布尔值和字符串值),有很多很棒的帮助函数。我建议您仔细阅读各种Apache库,看看它们已经提供了什么。