public class Main {
public static void main(String[] args) {
var message = "Java Silver";
System.out.println(message.length());
}
}
選択肢
- あなたの回答
- 正解
正解
B. 11 が表示される
詳細解説
var はローカル変数の型推論で、右辺の初期化式から型が決まります。"Java Silver" は String なので message は String として扱われ、length() は 11 を返します。
なぜ他の選択肢が違うのか
- var はローカル変数に限り正当な構文です。コンパイルできます。
- 文字列が代入されているため 0 にはなりません。
- String の length() は例外をスローしません。
罠ポイント
var はメソッドのローカル変数にのみ使えます。フィールド、メソッドの引数・戻り値型には使えません。