Java 动态getter方法创建

Java 动态getter方法创建,java,Java,我已经使用反射API创建了动态setter-getter,但这会造成性能问题,所以我想用一些专门用于getter的动态cutom方法替换反射代码 我计划将我的所有字段名存储在地图中,但不确定如何将我的准确值链接到这些字段 我也尝试过PropertyTils,但它也在内部使用反射 就反射而言,它工作得很好。 有没有办法用fieldname verified写入动态getter值,因为如果我在第一次尝试时将字段名称作为键存储在映射中,而值为null,那么我将如何在之后链接该字段的特定值,这将是一个漫

我已经使用反射API创建了动态setter-getter,但这会造成性能问题,所以我想用一些专门用于getter的动态cutom方法替换反射代码

我计划将我的所有字段名存储在地图中,但不确定如何将我的准确值链接到这些字段

我也尝试过PropertyTils,但它也在内部使用反射

就反射而言,它工作得很好。 有没有办法用fieldname verified写入动态getter值,因为如果我在第一次尝试时将字段名称作为键存储在映射中,而值为null,那么我将如何在之后链接该字段的特定值,这将是一个漫长的过程。

为此使用Lombok。它将在预编译时为您生成样板getter/setter

就像

@Getter
@Setter
public class LombokExample(){
   private String myField;
}
完成-类定义结束-不需要getter/setter 你仍然可以

lombok=new LombokExample();
lombok.getMyField();
lombok.setMyField();

为什么你需要动态阅读?是因为您在编译时不知道字段名或getter名吗?任何使用运行时提供的任意
字符串
按名称访问字段或方法的操作都必须使用反射。这几乎涵盖了我所期望的你所说的“动态”的一切。仅仅编写和使用普通的getter和setter有什么错?或者,使用一个
Map
而不是单独的字段有什么错?我的POJO类中已经准备好了所有细节,但我们正在研究java端性能,并且由于反射,我们面临问题。但如果我的pojo中有50个或更多的字段,那么每次我都必须为其编写这么多set和get语句,而不是让它动态地在内部处理而不进行反射。您不必编写getter和setter。只需在IDE中找到“生成getter和setter”功能,并让其处理样板文件(或开始使用Kotlin)。