ボクシングヘンカンプリミティブ型からそのラッパークラスへ暗黙的キャストできる機能。5.0で追加された構文。プリミティブ型の変数やリテラルを使用して、ラッパークラスの参照を初期化もしくは代入すると、自動的にキャストが行われる。これを「ボクシング変換」と言う。その逆を「アンボクシング変換」と言い、合わせて「オートボクシング」と呼ぶ。正確には、この時ラッパークラスのインスタンスが作られ、その中にプリミティブ型の値(この例では「100」)が格納され、参照型変数(この例ではinteger1)がインスタンスを参照する。1.4以前ではこのような書き方はできなかった。それは当然で、ラッパークラスの参照はあくまで参照であり、参照値以外の値を格納できないからである。それでは不便であるということで、このような変換が可能となった。ボクシング変換を行う際には、必ずプリミティブ型に対応するラッパークラスを使用する必要がある。100;」はコンパイルエラーになる。「100」は整数リテラルであり、整数リテラルはint型であり、int型に対応するラッパークラスはIntegerクラスでありLongクラスではないからである。このように、プリミティブ型であれば暗黙的キャストが行われる場合でも、ボクシング変換では対応するラッパークラスにしか変換できないため注意すること。int型変数を作って中に100を入れておきます。これをIntegerクラスへボクシング変換します。1.4以前ではコンパイルエラーになります。コンストラクタに渡しましょう。型が異なるとボクシング変換は機能しません。int→doubleへは暗黙的キャストが可能です。これをボクシング変換で行うことはできません。そのため、意外にも以下はコンパイルエラーになります。整数リテラルはint型だからです。この場合、以下のようにLを付けてlong型にすれば大丈夫。int型変数を作って中に100を入れておきます。これをIntegerクラスへボクシング変換します。1.4以前ではコンパイルエラーになります。コンストラクタに渡しましょう。型が異なるとボクシング変換は機能しません。int→doubleへは暗黙的キャストが可能です。これをボクシング変換で行うことはできません。そのため、意外にも以下はコンパイルエラーになります。整数リテラルはint型だからです。この場合、以下のようにLを付けてlong型にすれば大丈夫。「サンプルプログラムとか」に含まれているページアンボクシング変換オートボクシングジェネリックメソッドボクシング変換ラッパーusersupdate:2009/06/05このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。詳しくは「JavaA2Z」表紙の説明をご覧ください。