【发布时间】:2014-07-25 07:37:51
【问题描述】:
Java 中是否有一个实用方法可以将Boolean 转换为boolean 并自动处理对Boolean 的空引用为假?
【问题讨论】:
-
Emm...就一行代码...
-
@StephenC 是的 ..但是 OP 可能会搜索智能代码行;)(查看 skeets 解决方案)
标签: java boolean utility-method
Java 中是否有一个实用方法可以将Boolean 转换为boolean 并自动处理对Boolean 的空引用为假?
【问题讨论】:
标签: java boolean utility-method
怎么样:
boolean x = Boolean.TRUE.equals(value);
?这是一个单一的表达式,只有当 value 不为空且代表真实的 Boolean 引用时,才会计算为 true。
【讨论】:
您在寻找现成的实用程序吗?然后我认为 Commons-Lang BooleanUtils 就是答案。它有一个方法 toBoolean(Boolean bool).
【讨论】:
在 java 8 上你可以这样做:
static boolean getPrimitive(Boolean value) {
return Optional.ofNullable(value).orElse(false);
}
你也可以这样做:
static boolean getPrimitive(Boolean value) {
return Boolean.parseBoolean("" + value);
}
【讨论】:
如果您是golfing,则显式空检查后跟automatic unboxing 比canonical answer 短。
boolean b=o!=null&&o; // For golfing purposes only, don't use in production code
【讨论】:
这将处理空值和布尔值
booleanVal != null && Boolean.parseBoolean("" + booleanVal)
【讨论】:
我不知道它是否存在。我会写一个像这样的衬线:
public static boolean getPrimitiveBoolean(Boolean bool) {
return bool == null ? false : bool.booleanValue();
}
【讨论】:
这将是一种您可以编写的方法来解决问题。如果布尔值为 null,这将返回 false。
public static boolean toBooleanDefaultIfNull(Boolean bool) {
if (bool == null) return false;
return bool.booleanValue();
}
【讨论】: