instanceofとnull

instanceofで判定した結果がtrueの場合、そのオブジェクトは
必ず該当のクラスにキャストして、その後に利用できるようになっているらしい。


なので、instanceofでnullのものを判定するとfalseになるのは
nullのものを利用しようとぬるぽになっちゃうから、ってことらしい。
うーん、深い。




どうでもいいコード。


public static void main(String[] args) {
System.out.println(test(null));
Object obj = null;
System.out.println(test(obj));
System.out.println(test(new Object()));
}

private static boolean test(Object obj) {
return obj instanceof Object;
}


実行結果


false
false
true