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

2022-01-19 00:00:00 boolean java

PS:我理解真"和真"的区别.

PS: I understand the difference between "true" and true.

我也明白 Boolean.TRUE 是原始 true 的包装器,那么我的问题是 - 为什么原始布尔值接受 Boolean.TRUE 作为值?例如,

I also understand that Boolean.TRUE is a wrapper for the primitive true, my question then is - why does the primitive boolean accept Boolean.TRUE as a value? For instance,

boolean boolVar = Boolean.TRUE;

似乎是一个有效的陈述.

seems to be a valid statement.

推荐答案

原因

boolean boolVar = Boolean.TRUE;

works 是因为 autounboxing,这是一种 Java 5 功能,它允许包装器对象在需要时自动转换为其原始等效对象.相反的,自动装箱,也是可能的:

works is because of autounboxing, a Java 5 feature that allows a wrapper object to be converted to its primitive equivalent automatically when needed. The opposite, autoboxing, is also possible:

Boolean boolVar = true;

相关文章