繁体   English   中英

使用Boolean.valueOf()方法vs(或Java 1.5 autoboxing)创建Boolean对象

[英]Use the Boolean.valueOf() method vs (or Java 1.5 autoboxing) to create Boolean objects

Boolean.valueOf()Java 1.5 autoboxing之间的更好的做法是从booleans创建Boolean booleans ,为什么?

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()除了额外输入外没有给你任何东西,你应该以自动装箱为目标。


当您考虑相反的转换时,情况会变得复杂 - 从Booleanboolean 这次,编译器会透明地调用Boolean.booleanValue() ,从理论上讲会导致NullPointerException

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM