null に instanceof を使う
出力はどれか。
public class Main {
public static void main(String[] args) {
String text = null;
Object o = text;
System.out.println(o instanceof String);
}
}
- A
false - B
true - C 実行時に例外が発生する
- D コンパイルエラーになる
正解と解説を見る
正解: A
- A: null はどの型のインスタンスでもないので、instanceof は false です。
- B: 変数の型が String でも、中身が null なら instanceof は false です。
- C: instanceof は null でも例外になりません。
- D: Object 型の変数に instanceof を使うのは正しい書き方です。
ポイント
- null はどの型のインスタンスでもないので、instanceof は常に false です。例外にはなりません。