public class Main {
public static void main(String[] args) {
String s = null;
System.out.println(s.length());
}
}
選択肢
- あなたの回答
- 正解
正解
D. 実行時に NullPointerException が発生する
詳細解説
s は null なので s.length() はオブジェクトが存在しない参照へのアクセスになり、実行時に NullPointerException がスローされます。
なぜ他の選択肢が違うのか
- null の length() は 0 ではなく NullPointerException です。
- null を String 変数に代入することは合法でコンパイルできます。
- null が表示されるわけではなく例外がスローされます。
罠ポイント
NullPointerException は Java で最もよく遭遇する例外です。参照を使う前に null チェックをする習慣が大切です。