自動取消裝箱可能會導致 NullPointerException
此程式碼編譯:
Integer arg = null;
int x = arg;
但它會在執行時因第二行的 java.lang.NullPointerException 而崩潰。
問題是原始 int 不能具有 null 值。
這是一個簡約的例子,但在實踐中,它通常表現為更復雜的形式。NullPointerException 不是非常直觀,通常在查詢這些錯誤方面幫助不大。
依靠自動裝箱和自動拆箱,確保未裝箱的值在執行時不會有 null 值。