簡體   English   中英

java解析布爾值,可以為null或Boolean

[英]java Parse Boolean that may be null to Boolean

我注意到java.lang.Boolean類無法解析null的問題。 我知道它具有parseBoolean靜態方法,但是由於其簽名狀態,它僅接受String而不是Object

換句話說,它具有以下簽名:

public static boolean parseBoolean(String s)

但不是:

Boolean.parseBoolean(Object)

檢查布爾值而不導致NullPointerException的最佳方法是什么?

嘗試這種方法:

Boolean.TRUE.equals(yourObj);

如果您希望解析返回的Boolean對象為truefalsenull ,請查看Apache Commons Lang。 BooleanUtils具有一個執行此操作的襯板。

https://commons.apache.org/proper/commons-lang/javadocs/api-2.4/org/apache/commons/lang/BooleanUtils.html#toBooleanObject(java.lang.String)

BooleanUtils.toBooleanObject(null) == null
BooleanUtils.toBooleanObject("true") == true
BooleanUtils.toBooleanObject("false") == false
BooleanUtils.toBooleanObject("YES") == true
BooleanUtils.toBooleanObject("nO") == false

您可以將其與Boolean.TRUEBoolean.FALSE進行比較。 例:

if (Boolean.TRUE == Box.modeled()) { //do somthing }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM