2011-06-03 44 views

回答

361

Boolean(object)的默認值是null
boolean(原始)的默認值是false

6

未初始化的布爾構件(實際上到布爾類型的對象的引用)將具有null默認值。

356

默認值的任何對象引用是null

的默認值用於boolean是假的。

13

如果你需要問,那麼你需要明確地初始化你的字段/變量。

因爲如果你必須查找它,那麼其他人也可能需要這樣做。

的本原布爾值是假的可以看出here

正如其他人所提到的布爾值將爲空默認。

+0

感謝您參考的官方消息。至於初始化,沒有必要彌補缺乏知識。 – LoBo 2015-10-29 13:07:52

+2

'缺乏知識'意味着有一些預期水平可以與之比較。如果這個最低限度的知識水平是明確的,我同意。如果不是的話,我認爲謹慎的是更加明確。這一切都是個人/團隊的決定/意見。 – 2015-10-29 14:56:32

+3

@LoBo - 我認爲補償潛在的缺乏知識是沒有問題的。你不知道誰會維護你的代碼。任何能夠讓你的代碼更易於理解和/或可讀,而對性能影響很小的東西只能是一件好事。 – ferekdoley 2016-01-14 14:04:36

6

布爾是一個對象。所以如果它是一個實例變量,它將是空的。如果它是在方法中聲明的,你將不得不初始化它,否則會出現編譯器錯誤。

如果你聲明爲一個原語,即布爾值。如果它是一個實例變量(或類變量),該值默認爲false。如果在方法中聲明它,您仍然必須將其初始化爲true或false,否則會出現編譯器錯誤。