java中布尔值赋值的有效方式是什么?
What is the efficient way of boolean value assignment in java?
我们可以通过三种方式分配boolean
值
boolean isDone;
isDone = true;
isDone = Boolean.valueOf(true);
isDone = Boolean.TRUE;
那么哪个赋值效率更高呢?
只有第一个不涉及任何装箱或拆箱。所以从表面上看,第一个是最有效的。但是,大多数编译器(或即时编译器,如果存在)可能会优化其他两个赋值以使其同样有效。
当然,如果将 isDone
声明为 Boolean
而不是 boolean
,情况就会有所不同。在那种情况下,我更喜欢第三个作业。
很可能编译器和 jit 优化器会将它们全部优化为同一件事,但 "best" 理论上是第一个:isDone = true;
,因为它不涉及 boxing and unboxing。
我们可以通过三种方式分配boolean
值
boolean isDone;
isDone = true;
isDone = Boolean.valueOf(true);
isDone = Boolean.TRUE;
那么哪个赋值效率更高呢?
只有第一个不涉及任何装箱或拆箱。所以从表面上看,第一个是最有效的。但是,大多数编译器(或即时编译器,如果存在)可能会优化其他两个赋值以使其同样有效。
当然,如果将 isDone
声明为 Boolean
而不是 boolean
,情况就会有所不同。在那种情况下,我更喜欢第三个作业。
很可能编译器和 jit 优化器会将它们全部优化为同一件事,但 "best" 理论上是第一个:isDone = true;
,因为它不涉及 boxing and unboxing。