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

前端之家收集整理的这篇文章主要介绍了使用Boolean.valueOf()方法vs(或Java 1.5 autoboxing)创建Boolean对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Boolean.valueOf()和 Java 1.5 autoBoxing之间的更好的做法是从布尔值创建布尔值,为什么?

解决方法

布尔的自动装箱由编译器透明地转换为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.booleanValue(),从理论上讲会导致NullPointerException.

原文链接:https://www.f2er.com/java/122540.html

猜你在找的Java相关文章