プリミティブラッパークラス
出典: フリー百科事典『ウィキペディア(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>
クラスAtomicInteger
とAtomicLong
はNumber
クラスのサブクラスである。AtomicReference
クラスはオブジェクト参照の型を特定する型パラメータ V
を持つことができる。 (関連項目 "Java Generics" Javaにおける型パラメータの説明。) オブジェクト型がプリミティブ型でない場合でも、オブジェクトの参照はプリミティブ型であることに注意すること。