我需要一种方法来访问具有反射性质的字段,而不会受到标准反射的性能影响。我已经想出了如何使用特权查找句柄通过 LambdaMetaFactory 使用方法/构造函数执行此操作,但是,我似乎无法弄清楚如何获得字段访问权限。
我以为我可以通过类似 javaassist 的东西生成一个内部类,理论上应该可以访问该字段,但没有成功,抛出一个 IllegalAccessError。
如果我可以重新定义类,那么任务将是微不足道的,因为我可以生成 getter/setter 方法。但是,对于我正在处理的项目,我无法使用代理,因为它需要在运行时加载,而且我必须从工具动态导入附加 api。
任何人都可以在这里指导我正确的方向吗?我研究了 LambdaMetaFactory 如何为方法生成它的接口,并试图用字段来镜像它,但没有成功。如果不重新定义,字段和方法是否有内部不同的东西使这项任务变得不可能?