我注意到java.lang.Boolean类存在一个无法解析空值的问题。我知道它有parseBoolean
静态方法,但由于它是签名状态,它只接受String
而不是Object
。
换句话说,它具有以下特征:
public static boolean parseBoolean(String s)
但不是:
Boolean.parseBoolean(Object)
检查布尔值而不落在NullPointerException上的最佳方法是什么?
答案 0 :(得分:6)
尝试这种方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.e("TRUNGDH", newConfig.fontScale + "<= fontScale");
}
答案 1 :(得分:1)
如果您希望解析返回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
答案 2 :(得分:-1)
您可以将其与Boolean.TRUE
或Boolean.FALSE
进行比较。例如:
if (Boolean.TRUE == Box.modeled()) {
//do somthing
}