如何检查布尔值是否为null?因此,如果我知道“ hideInNav”为空。如何阻止它进一步执行?像下面这样的东西似乎不起作用,但是为什么呢?
boolean hideInNav = parent.getProperties().get("hideInNav", false);
String hideNavigation = hideInNav != null ? hideInNav : "";
如何检查布尔值是否为null?因此,如果我知道“ hideInNav”为空。如何阻止它进一步执行?像下面这样的东西似乎不起作用,但是为什么呢?
boolean hideInNav = parent.getProperties().get("hideInNav", false);
String hideNavigation = hideInNav != null ? hideInNav : "";
Answers:
boolean
只能是true
或false
因为它是原始数据类型(+boolean
变量的默认值为false
)。Boolean
如果要使用null
值,则可以改用类。布尔是一种引用类型,这就是您可以分配null
给布尔“变量”的原因。例:
Boolean testvar = null;
if (testvar == null) { ...}
hideInNav
保存对一个Boolean
对象的引用并且可以被null
引用(未分配引用)。因此,您可以检查参考是否为null
。
Boolean.TRUE.equals(xxx)
唯一可以是anull
的是非Primitiite。
甲boolean
这只能承载TRUE
或FALSE
是一个基元。内存中的TRUE
/FALSE
实际上是数字(0
和1
)
0 =假
1 = TRUE
因此,当您实例化对象时,它将为null
String str; // will equal null
另一方面,如果实例化图元,则会将其分配为默认值0。
boolean isTrue; // will be 0
int i; // will be 0
Boolean
,“ A Boolean
which ...”中的大写字母。类型的变量boolean
只能容纳true
和false
,但是类型的变量可以Boolean
容纳Boolean
对象或null
。
boolean
是基本类型,因此不能为null。
其盒装类型Boolean
可以为null。
该函数可能返回aBoolean
而不是a boolean
,因此将结果分配给Boolean
-type变量将允许您测试是否为空。
boolean是Java中的原始数据类型,并且原始数据类型不能像其他原始int,float等一样为null,如果未分配,则它们应包含默认值。
在Java中,只能将对象分配为null,这意味着相应的对象没有引用,因此在内存中不包含任何表示形式。
因此,如果要使用null作为对象,则应使用布尔类,该布尔类将原始布尔类型值包装在其对象内。
这些在Java中称为包装器类
例如:
Boolean bool = readValue(...); // Read Your Value
if (bool == null) { do This ...}