マンガで分かる Java入門講座

第10章 クラスとオブジェクト3
10-8. ラッパークラス

基本型の値を、オブジェクトで包んで使う「ラッパークラス」の紹介を行います。

● ラッパークラス

 「ラッパークラス」は、基本型の値をラッピングする種々のクラスの総称です。ラッパークラスには、各基本型に対応した以下のようなものがあります。

表)ラッパークラス
基本型ラッパークラス
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

● ラッパークラスの使用例

 ラッパークラスは、対応する基本型を引数にして作成できます。

ソースコード)ラッパークラスの作成
int i = 0;
Integer i2 = new Integer(i);

 ラッパークラスは、オブジェクト型を引数に取るメソッドで、基本型の値を使いたい時などに使用します。

説明)ラッパークラスの使い所
 int i = 0;
┏━━━━━┓
┃Integer i2┃ = new Integer(i);
┗━━┯━━┛
   └──────┐
          ○使える
          ↓
 void method(Object obj) {
 }

● ラッパークラスのメソッド

 ラッパークラスでよく利用するメソッドは、「parseInt」や「valueOf」のように、文字列を解析して基本型の値として読み取るメソッドです。

ソースコード)Integerの例
Integer i1 = Integer.valueOf("99");
int i2 = Integer.parseInt("99");

 「parse~」というメソッドでは基本型を戻し、「valueOf」ではラッパークラスを戻します。


● オートボクシング

 ラッパークラスのオブジェクトは、そのまま基本型として使えます。その際は、対応した基本型に、暗黙的にキャストされます。こういった仕組みを「オートボクシング」と呼びます。

ソースコード)オートボクシング
Integer i1 = new Integer(10);
int i2 = 100 + i1;       // i1は数値として処理される
System.out.println(i2);  // 「110」と出力

● ラッパークラスの定数

 ラッパークラスのフィールドには、各基本型を使う上で有用な定数が用意されています。例えばIntegerでは、最大値や最小値が用意されています。

ソースコード)ラッパークラスの定数
// 変数を初期化
long n = 9999999999l;  // intの範囲外の数値
int i = 0;

if (n > Integer.MAX_VALUE) {
    // intの最大値「2147483647」より大きい
    i = Integer.MAX_VALUE;
} else if (n < Integer.MIN_VALUE) {
    // intの最小値「-2147483648」より小さい
    i = Integer.MIN_VALUE;
} else {
    // intの値の範囲内
    i = (int)n;
}
System.out.println(i);	// 「2147483647」と出力

● ラッパークラスのドキュメント

 ラッパークラスは、java.langパッケージ内のクラスです。これらのドキュメントは、java.langパッケージのページからたどれます。


この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/06/06  更新:2016/02/09  [Permalink]