nullpointerexception在Java中如何将null转换为false?
在我的代码中有一个名为j
的org.apache.tapestry5.json.JSONObject
。
我想从该对象读取属性use-name
:
Boolean isUseName = (Boolean) j.opt("use-name");
该值可以是true、false或null(如果JSONObject中不存在条目)。现在我想用isUseName
作为条件语句:
if(!isUseName) {System.out.println("No Name to be used.")}
如果“use name”不在JSONObject中,这会给我一个NullPointerException。一种方法是首先简单地检查isUseName
是否为空,例如
if(isUseName != null && !isUseName) {System.out.println("No Name to be used.")}
我在想,是否有更优雅的方式。例如,如果j.opt()
返回null,是否可以(自动)将isUseName
设置为false?我想到的一件事是使用三元表达式,但这有一个多余的j.opt("use-name")
:
Boolean isUseName = (j.opt("use-name") != null)
? (Boolean) j.opt("use-name")
: false;
# 1 楼答案
您可以与
Boolean.TRUE
进行比较:# 2 楼答案
检查一下钥匙是否存在怎么样
# 3 楼答案
逻辑表达式短路,因此如果先检查
null
,则可以在检查后使用它:或者
同样地
及