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

From Wikipedia, the free encyclopedia

プリミティブラッパークラス (: primitive wrapper class) とは、Javaにおける、プリミティブ型をラップするjava.lang パッケージが提供する8つのクラスのこと。プリミティブラッパークラスは不変であり、オブジェクト指向メソッドを提供する。

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

プリミティブ型の値からラッパーオブジェクトに変換することを「ボックス化」(ボクシング)、ラッパーオブジェクトからプリミティブ型の値に変換することを「ボックス化解除」(アンボクシング)と呼ぶ。

Java SE 5.0からは、ラッパーオブジェクトとプリミティブ型の値との間の暗黙の変換機能として、プリミティブ型の値からラッパーオブジェクトに暗黙変換できる「自動ボックス化」(オートボクシング)と、ラッパーオブジェクトからプリミティブ型の値に暗黙変換できる「自動ボックス化解除」(オートアンボクシング)が導入された。

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

プリミティブ型ラッパークラス
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

ラッパークラス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以降)。

アトミッククラス

関連項目

Related Articles

Wikiwand AI