プリミティブ型とArrayList

メイン

public class PrimitiveTestDrive {
  public static void main(String[] args) {

    new PrimitiveAndObjectTest();
  }
}

import java.util.ArrayList;

public class PrimitiveAndObjectTest {


  public PrimitiveAndObjectTest () {


    ArrayList listOfNumbers = new ArrayList();



    int index = 0;
    int sum = 0;


    for (int i = 0; i <= 10; i++) {
    // ArrayListに0から10まで追加して表示
      listOfNumbers.add(i);
      System.out.println(listOfNumbers.get(index));


      index++;
      sum += listOfNumbers.get(i);
    }
    System.out.println("0から10の合計は" + sum + "です");
  }
}

実行結果

0
1
2
3
4
5
6
7
8
9
10
0から10の合計は55です

ArrayListに追加した型はint型で、ArrayListにはadd(int)というメソッドはないのに、コンパイラが自動的にラッピングしてくれたおかげで、add(int)が出来てる。
 ⇒ArrayListには実際にはIntegerオブジェクトが保持されているけど、int型の値を直接追加できるもののように扱える。