Java中Boolean.TRUE和true有什么区别?


问题内容

PS:我了解“真实”与真实之间的区别。

编辑:我也明白Boolean.TRUE是原始true的包装,然后我的问题是-为什么原始boolean接受Boolean.TRUE作为值?例如,

boolean boolVar = Boolean.TRUE;

似乎是一个有效的声明。


问题答案:

原因

boolean boolVar = Boolean.TRUE;

之所以 起作用 ,是因为 autounboxing 是Java 5的一项功能,该功能允许包装器对象在需要时自动转换为其等效的原始对象。相反,
autoboxing 也可以:

Boolean boolVar = true;