😺
【Java】Listとオートボクシング・アンボクシングの関係
オートボクシングとは?
プリミティブ型(int, double など)を対応するラッパークラス(Integer, Double など)に自動変換するしくみ
int num = 10;
Integer boxedNum = num; // オートボクシング
アンボクシングとは?
ラッパークラス(Integer, Double など)を対応するプリミティブ型に自動変換するしくみ
Integer boxedNum = 20;
int num = boxedNum; // アンボクシング
Listとオートボクシング・アンボクシングの関係
List<int> のようにプリミティブ型を直接扱うことはできず、代わりに List<Integer> のようにラッパークラスを使用します。
例)オートボクシングの適用
下記のように、list.add(10); のとき、10 は int 型ですが、Integer に自動変換(オートボクシング)されて List<Integer> に追加されます。
List<Integer> list = new ArrayList<>();
list.add(10); // オートボクシング (int → Integer)
list.add(20);
System.out.println(list); // [10, 20]
例)アンボクシングの適用
list.get(0); は Integer を返しますが、int num = list.get(0); のように代入すると自動的に int に変換(アンボクシング)されます。
int num = list.get(0); // アンボクシング (Integer → int)
System.out.println(num); // 10
Udemyで講座を公開中!
X(旧Twitter)
Zenn 本
Youtube
Discussion