小编Ili*_*dis的帖子

不允许此关键字访问记录构造函数中的字段

我有以下记录:

public record A(List<String> list) {
    public A {
      this.list = new ArrayList<>(list);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到这个编译错误:

无法为最终变量赋值

另一方面,这可以编译:

public record A(List<String> list) {
    public A {
      list = new ArrayList<>(list);
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么是这样?

java java-record java-17

5
推荐指数
1
解决办法
695
查看次数

标签 统计

java ×1

java-17 ×1

java-record ×1