java记录上的构造函数注释

问题描述

有没有办法获得像 ConstructorProperties 这样的注释,它具有 @Target(CONSTRUCTOR) 来注释 java 16 记录的生成构造函数?例如:

@ConstructorProperties({"id","filename"})
public record Person(long id,String filename) {}

此 ^ 导致以下错误

java: annotation type not applicable to this kind of declaration

解决方法

这有效:

public record Person(long id,String filename) {
    @ConstructorProperties({"id","filename"})
    public Person {}
}

我的理解是,没有参数列表的内部构造函数是向使用组件列表创建的默认构造函数添加逻辑的一种方式。显然,向其添加构造函数注释具有我所追求的最终结果:)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...