2016-01-20 102 views
-1

我注意到一個問題,java.lang.Boolean類,它無法解析空值。我知道它有靜態方法parseBoolean,但由於它是簽名狀態,它只接受String而不是Objectjava解析布爾值,可能爲null布爾

換句話說,它具有以下特徵:

public static boolean parseBoolean(String s) 

但不是:

Boolean.parseBoolean(Object) 

什麼是檢查一個布爾值,而不落在NullPointerException異常的最好方法?

+2

你想做什麼?將一個'Boolean'(即true,false或null)轉換爲'boolean'?如果是這樣,你必須決定你是否希望空值是真或假。 – immibis

+0

看看[this](http://stackoverflow.com/questions/11185321/when-should-null-values-of-boolean-be-used)有幫助。 –

+0

你認爲'parseBoolean(null)'只適用於'parseBoolean(Object)'嗎?如果不是,你希望你的對象被解析爲「布爾」? – steffen

回答

0

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

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

+3

進行比較,這實際上是不好的,因爲從技術上講,您可以創建新的布爾對象:Boolean b = new Boolean(true); b!= Boolean.TRUE – AdamSkywalker

+0

所以......你在問自己的同一時刻回答自己的問題? – Stultuske

+1

這也不能回答你的問題 – AdamSkywalker

2

嘗試這一方法: Boolean.TRUE.equals(yourObj);