我注意到java.lang.Boolean类存在一个无法解析空值的问题.我知道它有parseBoolean静态方法但是因为它的签名状态它只接受String而不是Object.
换句话说,它具有以下特征:
public static boolean parseBoolean(String s)
Run Code Online (Sandbox Code Playgroud)
但不是:
Boolean.parseBoolean(Object)
Run Code Online (Sandbox Code Playgroud)
在不降低NullPointerException的情况下检查布尔值的最佳方法是什么?
如果您希望解析返回true或false作为null对象Boolean,请查看 Apache Commons Lang。BooleanUtils有一个衬垫可以做到这一点。
BooleanUtils.toBooleanObject(null) == null
BooleanUtils.toBooleanObject("true") == true
BooleanUtils.toBooleanObject("false") == false
BooleanUtils.toBooleanObject("YES") == true
BooleanUtils.toBooleanObject("nO") == false
Run Code Online (Sandbox Code Playgroud)
Yuv*_*ein -1
您可以将其与Boolean.TRUE或进行比较Boolean.FALSE。例子:
if (Boolean.TRUE == Box.modeled()) {
//do somthing
}
| 归档时间: |
|
| 查看次数: |
5442 次 |
| 最近记录: |