プリミティブラッパークラス

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

プリミティブラッパークラス(primitive wrapper class)とは Javaにあるもので、8つのプリミティブ型のためのオブジェクト メソッドを持つjava.lang パッケージが提供する8つのクラスのことである。 Javaにあるすべてのプリミティブラッパークラスは不変である。Java SE 5.0からは、プリミティブ型からラッパーオブジェクトに変換できるオートボクシングとラッパーオブジェクトからプリミティブ型変数に変換できる自動アンボクシング(ラッパーオブジェクトとプリミティブ型変数との間の暗黙の変換)が導入された。

ラッパークラスはプリミティブ型の値に対応したObjectが必要なときにそれを表すものとして使われている。ラッパークラスはjava.utilパッケージにあるCollectionクラス群、java.lang.reflectリフレクションパッケージにあるクラス群とともに広く使われている。

プリミティブラッパークラスとそれらに相当するプリミティブ型:

プリミティブ型 ラッパークラス
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

ラッパークラスByte, Short, Integer, Long, Float, Double はすべてNumberサブクラスである。

Void[編集]

ラッパークラスではないが、Voidクラスは それが戻り値の型がvoidであるオブジェクト表現を提供するという点でよく似ている。 Voidクラスは Java予約語 void を表現するClassオブジェクトへの参照を保持するためにjava.lang.reflect APIによって使われるインスタンス化できないプレースホルダークラスである。

アトミッククラス[編集]

Java 5.0では、java.util.concurrent.atomicパッケージにラッパークラスが新たに追加された。 これらのクラスは可変であり、正規のラッパークラスの代替としては使うことができない。 その代わりに、それらは加算、インクリメント、代入についての不可分操作を提供する。

アトミッククラスとそれらに相当するプリミティブ型:

プリミティブ型 ラッパークラス
int AtomicInteger
long AtomicLong
boolean AtomicBoolean
V AtomicReference<V>

クラスAtomicIntegerAtomicLongNumberクラスのサブクラスである。AtomicReferenceクラスはオブジェクト参照の型を特定する型パラメータ Vを持つことができる。 (関連項目 "Java Generics" Javaにおける型パラメータの説明。) オブジェクト型がプリミティブ型でない場合でも、オブジェクトの参照はプリミティブ型であることに注意すること。

関連項目[編集]