Javaちょこっとリファレンス
HOME > オートボクシング

オートボクシング

オートボクシング機能を使うと、intやdouble型などのプリミティブ型と対応するラッパー型の変換を簡単に行うことが出来ます。
オートボクシング機能は、J2SE 5.0から導入されました。

int型からInteger型に変換する場合
 ボクシングなし:Integer i = new Integer(123);
 ボクシングあり:Integer i = 123;

Integer型からint型に変換する場合
Integer i = new Integer(123);
 アンボクシングなし:int a = i.intValue;
 アンボクシングあり:int a = i;

プリミティブ型→ラッパー型にするのを「ボクシング」、
 ラッパー型→プリミティブ型にするのを「アンボクシング」といいます。

オートボクシングを使ったサンプル

ボクシング/アンボクシングサンプル
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class AutoBoxingSample {

    public static void main(String[] args){

        //ArrayListの生成とデータのセット
        List<Integer> al = new ArrayList<Integer>();
        al.add(10);    //←ボクシング
        al.add(20);    //←ボクシング
        al.add(30);    //←ボクシング

        //ArrayListを1件ずつ取り出し加算する
        int result = 0;
        Iterator<Integer> it = al.iterator();
        while (it.hasNext()) {
            result = result + it.next();    //←アンボクシング
        }

        //結果をコンソールに出力する
        System.out.println(result);

    }
}

実行結果
C:\>java AutoBoxingSample 60

オートボクシングでは以下のように変換されます。

【オートボクシング対応表】
 ラッパークラス
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
このエントリーをはてなブックマークに追加

ラッパークラスカテゴリ

HOMEへ戻る TOPへ戻る