J2SE1.5 オートボクシング

感想おまちしてます!

K-1やプライドに押されぎみのスポーツではない。

intなどのプリミティブ型をコレクションに置くことはできない。List.add(Object
obj)という引数であることから、オブジェクト参照だけを保持できるからだ。コレクションに置くためには適切なラッパークラス(intの場合は
Integerなど)に「詰める(box)」ことが必要になる。これをボクシングという。
逆に取り出す場合(unbox)はラッパークラスにキャストしてintValueなどのメソッドを使用して取り出さなければならない。

Java5.0ではこれらの作業を自動で行ってくれる。これをオートボクシングという。

使用例

int[] intArray = new int[]{1,2,3,4,5};

for(int i = 0; i < 10; i++){

// intからIntegerにオートボクシング
list.add(i);

// Integerからintにアンオートボクシング
list.get(i);

}

Documentには以下のようにある。

オートボクシング / アンボクシング機能は、参照型とプリミティブとの間に
「インピーダンス不整合」がある場合にだけ使用してください。
たとえば数値をコレクションに入力しなければならない場合です。
オートボクシング / アンボクシング機能を科学計算やパフォーマンスが重要な
数値コードに使用することは、適切ではありません。

なので注意が必要。