record のアクセサ名
このコードを実行するとどうなるか。
public class Main {
public static void main(String[] args) {
Book b = new Book("Java", 3000);
System.out.println(b.getTitle());
}
}
record Book(String title, int price) {
}
- A
Javaと出力される - B 実行時に例外が発生する
- C コンパイルエラーになる
- D
nullと出力される
正解と解説を見る
正解: C
- A: 実行まで進まないので、何も出力されません。
- B: メソッドの有無はコンパイル時に見つかります。
- C: record のアクセサは
title()で、getTitle()は作られないのでコンパイルエラーです。 - D: 実行まで進まないので、何も出力されません。
ポイント
- record のアクセサはフィールド名そのまま (
title()) です。getTitle()は作られません。