Skip to content

20251226_オートボクシング・アンボクシングとは?

Javaのプリミティブ型には、対応する参照型が存在する(例:intとInteger)。プリミティブ型↔︎参照型の変換は、明示的に変換しなくても、自動的に変換される仕組みが存在する。プリミティブ型→参照型への自動変換を「オートボクシング」、参照型→プリミティブ型への自動変換を「アンボクシング」という

注意点として、プリミティブ型にはNULLの概念が存在しない一方で、参照型はNULLになり得る。NULLの参照型がアンボクシングされると、NPEが発生するので、注意する必要がある。

java
int a = 10;
Integer aa = a; //オートボクシング

Integer bb = Integer.valueOf(10);
int b = bb; //アンボクシング

Integer cc = null;
int c = cc; //NPEが発生