8

Boolean.valueOf()との間でJava 1.5 autoboxing作成するためのBooleanより良い方法 booleansとその理由はどれですか?

4

1 に答える 1

14

のオートボクシングは、コンパイラによって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ます。

于 2012-07-26T16:38:35.083 に答える