【发布时间】:2015-07-09 21:01:53
【问题描述】:
我们可以通过三种方式给boolean赋值
boolean isDone;
isDone = true;
isDone = Boolean.valueOf(true);
isDone = Boolean.TRUE;
那么哪个作业更有效?
【问题讨论】:
标签: java boolean variable-assignment
我们可以通过三种方式给boolean赋值
boolean isDone;
isDone = true;
isDone = Boolean.valueOf(true);
isDone = Boolean.TRUE;
那么哪个作业更有效?
【问题讨论】:
标签: java boolean variable-assignment
最有可能的编译器和 jit 优化器无论如何都会将它们优化为相同的东西,但理论上“最佳”是第一个:isDone = true;,因为它不涉及boxing and unboxing。
【讨论】:
只有第一个不涉及任何装箱或拆箱。所以从表面上看,第一个将是最有效的。但是,大多数编译器(或即时编译器,如果存在)可能会优化其他两个分配以同样高效。
当然,如果isDone 被声明为Boolean 而不是boolean,情况就会不同。在这种情况下,第三个作业将是我的首选。
【讨论】: