2010-02-21 45 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可以隐式地在这些盒装类型和相应的基元之间移动。

相关问题