ふとした思い付きで、Integer を返すメソッドが null を返したとき、プリミティブな int 型にアンボクシングさせるようなコードを書くとどうなるか疑問に思ったので試してみました。
public static void main(String[] args){ int i = getNullInteger(); System.out.println("i:"+i); } private static Integer getNullInteger(){ return null; }
例えばこんな感じ。
で、実行してみると、NullPointerException が返ってきました。
勝手に NullPointerException を返してプログラムが止まってしまうと困る場合は多いと思うので、メソッドの呼出し元で null チェックをするか、メソッドで null を返すのではなくて、キャッチされる例外をスローするようにしたいところですね。
コメントする