基本データ型を型パラメータにする
このコードを実行するとどうなるか。
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<int> list = new ArrayList<>();
list.add(1);
System.out.println(list);
}
}
- A
[1]と出力される - B 実行時に例外が発生する
- C コンパイルエラーになる
- D
1と出力される
正解と解説を見る
正解: C
- A: 実行まで進まないので、何も出力されません。
- B: 型パラメータの誤りはコンパイル時に見つかります。
- C: 型パラメータには参照型しか書けないので
ArrayList<int>はコンパイルエラーです。Integer を使います。 - D: 実行まで進まないので、何も出力されません。
ポイント
- 型パラメータには参照型しか書けません。int ではなく
ArrayList<Integer>と書きます。 list.add(1)の 1 は、自動で Integer に変換 (オートボクシング) されます。