2010-02-21 46 views
3

我在業餘時間一直在學習Java,並有一個我似乎無法解決的快速問題。此代碼返回true:布爾instanceof Object是否爲true?

Boolean testBool = true; 
Boolean test = testBool instanceof Object; 
System.out.println(test); 

不過,我認爲布爾是一個基本類型,當我嘗試與任何其他原始類型這個相同的邏輯,我得到的是說,一個編譯器錯誤: 意想不到的類型要求:引用發現:INT

我敢肯定,這只是我錯過的小事。謝謝你的幫助!

回答

3

布爾值是原始類型; java.lang.Boolean是它的包裝類。

你會發現,所有的原始類型有伴侶的包裝類(例如int和爲java.lang.Integer等)

4

Boolean用大寫的初始B包裹一個boolean原始。作爲the docs說:

Boolean類包裝在一個對象的 基本布爾型的值。 布爾類型的對象包含一個 單個字段,其類型爲布爾值。

Autoboxing可以隱式地在這些盒裝類型和相應的基元之間移動。

相關問題