加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:27:03 所属栏目:Java 来源:网络整理
导读:Boolean.valueOf()和 Java 1.5 autoboxing之间的更好的做法是从布尔值创建布尔值,为什么? 解决方法 布尔的自动装箱由编译器透明地转换为Boolean.valueOf(): boolean b = true;Boolean bb = b; 被翻译成: iconst_1istore_1 //b = 1 (true)iload_1 //binvok
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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读