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