我正在开发一个自定义 Java 对象持久性框架,正如我最近在 this question 中讨论的那样.
我试图解决的一个问题是在构造函数参数和类中的相应字段中强制使用统一的注释值。
是否可以通过反射知道构造函数中的哪个参数用于设置类中的特定字段?例如,如果构造函数包含参数 String textXYZ
并且类包含字段 String textABC
并且在构造函数中我执行: textABC = textXYZ
(因此字段/参数具有不同的名称)。是否可以通过反射得知字段textABC
与构造函数参数textXYZ
关联?
这将允许我仅在字段上设置注释,然后推断参数的注释值,反之亦然。
谢谢
最佳答案
从 Java 7 开始,就有了一个专门用于此目的的注释: ConstructorParameters
。当放置在构造函数上时,它显示该构造函数的参数如何与构造对象的 getter 方法相对应。您可以反射(reflection)性地检查此注释,然后推断出哪些字段是相关的。
当然,没有人强制对构造函数进行注释,但这是关联字段和构造函数参数的唯一标准方法。许多工具,如 Jackson、Jsonb 等,都有自己的注释用于相同目的。
关于java - 确定构造函数中的哪个参数用于设置类中的特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60512364/