ボックス化
Javaでは、配列以外のコレクション(java.util.ArrayListやjava.util.LinkedListなど)には参照型のみ追加することができる。プリミティブ型のデータをそのまま要素として追加することはできない。 そこで、プリミティブ型のデータは対応するプリミティブラッパークラスのオブジェクトにボックス化して追加し、取り出すときにはダウンキャストしてからボックス化解除する。
Java 1.5以降ではジェネリクスおよび自動ボックス化をサポートするので、プリミティブ型のデータもあたかもオブジェクトのように扱うことができる。ただしコレクションには参照型のみ追加できること、またボックス化・ボックス化解除が実行されることには変わりない。Javaのジェネリクスは型安全であることが保証されているだけであり、ジェネリクスを使わない場合と比べてパフォーマンス上の優位性はない。