値の取得

広告

ラッパークラスのオブジェクトを作成すると、そのオブジェクトには対応する基本データ型の値が保持されています。ここではオブジェクトが持っている値を取得する方法を確認します。

値を取得するには各クラスで定義されているメソッドを使います。例としてIntegerクラスのオブジェクトから値を取得するにはIntegerクラスで用意されているintValueメソッドを使います。

int i = 84;
Integer oi = new Integer(i);

int val = oi.intValue();

intValueメソッドはオブジェクトが持つ値をint型の値として返します。またIntegerクラスには値をlong型の値として返すlongValueメソッドやdouble型の値として返すdoubleValueメソッドなども用意されています、

他のラッパラークラスも同じようにオブジェクトが保持している値を取得するメソッドが用意されています。

Byteクラス:
byte byteValue()

Shortクラス:
short shortValue()

Integerクラス:
int intValue()

Longクラス:
long longValue()

Floatクラス:
float floatValue()

Doubleクラス:
double doubleValue()

例としてShortクラスとDoubleクラスのオブジェクトからそれぞれshort型の値を取り出す場合とdouble型の値を取り出す方法を見てみます。

short s = 32;
Short os = new Short(s);
int sval = os.shortValue();

double d = 7.6;
Double od = new Double(d);
double oval = od.doubleValue();

オートボクシング

値を取得する場合にもオートボクシングが利用可能です。例えば次のような記述が可能です。

int i = 84;
Integer oi = i;

int val = oi;

これは次のように記述した場合と同じです。

int i = 84;
Integer oi = new Integer(i);

int val = oi.intValue();

オートボクシングを使用することでラッパークラスのオブジェクトをあたかも基本データ型のように扱うことができます。ただあくまでもオートボクシング機能によって自動的に変換されているということは覚えておいて下さい。

サンプル

では簡単な例で試しておきます。

JSample3_1.java

class JSample3_1{
  public static void main(String args[]){
    int i = 84;
    Integer oi = new Integer(i);

    System.out.println(oi.intValue());
    System.out.println(oi);
  }
}

コンパイル後に実行すると次のように表示されます。

p3-1

( Written by Tatsuo Ikura )