在Java中实例化Boolean对象:Boolean.TRUE和Boolean.FALSE vs primitives

时间:2017-10-03 11:14:26

标签: java

我想知道是否

aar

更好
Boolean var = true;

什么是思想方式?哪一个比较好的表现?

如果我们有两个原语要使用,为什么还要实例化布尔对象呢?

2 个答案:

答案 0 :(得分:1)

您的两个代码段执行相同,因为Java编译器将autobox原语转换为其包装类型(这意味着代码实际上是相同的)。如果您执行boolean(但可能无法衡量),原始类型boolean var = true;通常会有更好的性能。

答案 1 :(得分:1)

转到Boolean.TRUE;

原因

boolean boolVar = Boolean.TRUE;

工作是因为autounboxing是一个Java 5功能,它允许在需要时自动将包装器对象转换为其原始等效项。相反,自动装箱也是可能的:

Boolean boolVar = true;

Boolean.TRUE是对Boolean类对象的引用,另一方面,true是原始布尔类型的值。布尔类通常称为"包装类",并且在需要对象而不是基本类型时使用。