在Boolean.valueOf()和Java 1.5 autoboxing之间,从booleans创建Boolean的最佳实践是什么?为什么?
发布于 2012-07-27 00:38:35
编译器会将boolean的自动装箱透明地转换为Boolean.valueOf():
boolean b = true;
Boolean bb = b;翻译为:
iconst_1
istore_1 //b = 1 (true)
iload_1 //b
invokestatic #2; //Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore_2 //bb = Boolean.valueOf(b)使用您认为更有用和更具可读性的文档。由于使用Boolean.valueOf()不会给您带来额外的输入,因此您的目标应该是自动装箱。
当你考虑从Boolean到boolean的相反转换时,情况就变得复杂了。这一次,编译器会透明地调用Boolean.booleanValue(),这在理论上会导致NullPointerException。
https://stackoverflow.com/questions/11673954
复制相似问题