回答:
Javaは、オブジェクトを参照しない整数参照にnullを正常にキャストします。
それは問題ありません。なぜなら、検証されていないということは、参照にとって有効な状態だからです。
実行できないのは、存在しないオブジェクトのメソッドの呼び出しです。
キャストの実行は(Integer)null、整数変数を宣言してから、新しい(または既存の)整数オブジェクトインスタンスの割り当てに失敗することと同じです。
Integeraをintie inにunboxするにはint i = new Integer(15);、i実際に等しいnew Integer(15).intValue() i = (Integer) o; where Object o = 15はo = Integer.valueOf(15);but と同じi = nullです。がスローされるのは、どちらがスローするNullPointerExceptionかiに等しいためです 。null.intValue()NullPointerException
valueOf()、ボクシング用の新しいインスタンスを作成するのではなく、ファクトリメソッドを使用しています。