Java オートボクシングとアンボクシング
Java オートボクシングとアンボクシング
このチュートリアルでは、例を使って Java のオートボクシングとアンボクシングについて学びます。
Java オートボクシング - プリミティブ型からラッパー オブジェクトへ
オートボクシング Java コンパイラは、プリミティブ型を対応するラッパー クラス オブジェクトに自動的に変換します。たとえば、
int a = 56;
// autoboxing
Integer aObj = a;
オートボクシング Java コレクションを操作する際に大きな利点があります。
例 1:Java オートボクシング
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
//autoboxing
list.add(5);
list.add(6);
System.out.println("ArrayList: " + list);
}
}
出力
ArrayList: [5, 6]
上記の例では、整数型の配列リストを作成しました。したがって、配列リストは Integer
のオブジェクトのみを保持できます タイプしてください。
行に注意してください、
list.add(5);
ここでは、プリミティブ型の値を渡しています。ただし、オートボクシングにより 、プリミティブ値は自動的に Integer
に変換されます オブジェクトであり、配列リストに格納されます。
Java アンボックス化 - ラッパー オブジェクトからプリミティブ型へ
開梱中 Java コンパイラは、ラッパー クラス オブジェクトを対応するプリミティブ型に自動的に変換します。たとえば、
// autoboxing
Integer aObj = 56;
// unboxing
int a = aObj;
オートボクシングのように 、開梱 Java コレクションでも使用できます。
例 2:Java アンボックス
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
//autoboxing
list.add(5);
list.add(6);
System.out.println("ArrayList: " + list);
// unboxing
int a = list.get(0);
System.out.println("Value at index 0: " + a);
}
}
出力
ArrayList: [5, 6] Value at index 0: 5
上記の例では、
int a = list.get(0);
ここでは、get()
メソッドはインデックス 0 のオブジェクトを返します .ただし、開封のため 、オブジェクトは自動的にプリミティブ型 int
に変換されます 変数 a に割り当てられます .
Java