プリミティブラッパークラス
From Wikipedia, the free encyclopedia
プリミティブラッパークラス (英: primitive wrapper class) とは、Javaにおける、プリミティブ型をラップするjava.lang パッケージが提供する8つのクラスのこと。プリミティブラッパークラスは不変であり、オブジェクト指向のメソッドを提供する。
Javaにおけるプリミティブ型はオブジェクト型ではなく、そのままではオブジェクトとして扱うことができない。プリミティブラッパークラスはプリミティブ型の値に対応したObjectが必要なときにそれを表すものとして使われている。ラッパークラスはjava.utilパッケージにあるCollectionクラス群、java.lang.reflectパッケージにあるリフレクション用クラス群とともに広く使われている。
プリミティブ型の値からラッパーオブジェクトに変換することを「ボックス化」(ボクシング)、ラッパーオブジェクトからプリミティブ型の値に変換することを「ボックス化解除」(アンボクシング)と呼ぶ。
Java SE 5.0からは、ラッパーオブジェクトとプリミティブ型の値との間の暗黙の変換機能として、プリミティブ型の値からラッパーオブジェクトに暗黙変換できる「自動ボックス化」(オートボクシング)と、ラッパーオブジェクトからプリミティブ型の値に暗黙変換できる「自動ボックス化解除」(オートアンボクシング)が導入された。
プリミティブラッパークラスとそれらに相当するプリミティブ型:
プリミティブ型 ラッパークラス byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean
ラッパークラスByte, Short, Integer, Long, Float, Double はすべてNumberのサブクラスである。
Javaには組み込みの符号無し整数型は存在しないが、プリミティブラッパークラスには、ビット列を符号無し整数とみなして扱うためのメソッドがいくつか用意されている(Integer.compareUnsigned(int, int)とLong.compareUnsigned(long, long)はJava 8以降、Byte.compareUnsigned(byte, byte)とShort.compareUnsigned(short, short)はJava 9以降)。