Boolean[] boxed = new Boolean[4];
boolean[] primitive = new boolean[4];
System.out.println(boxed[0]); // null
System.out.println(primitive[0]); // false
| 維度 | Boolean[](包裝類型數組) | boolean[](基本類型數組) |
|---|---|---|
| 元素類型 | 引用類型(指向 Boolean 對象) | 基本類型(直接存儲 bit 值) |
| 默認初始值 | null(引用類型統一默認 null) | false(基本類型默認值:數值 0、字符 \u0000、布爾 false) |
| 內存結構 | 數組存儲 4 個引用地址,初始均為 null | 數組連續存儲 4 個 bit(JVM 實現通常按 byte 對齊) |
Integer[] → null vs int[] → 0Double[] → null vs double[] → 0.0Character[] → null vs char[] → '\u0000'boolean[]、int[])避免 NPE,性能更優(無裝箱/拆箱、內存更緊湊)。Objects.isNull() 判斷,或使用 Optional 封裝。List<Boolean>)同理:元素默認 null,需注意自動裝箱陷阱。記住口訣:「對象數組初始 null,基本類型數組有默認值」。