使用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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |