【发布时间】:2021-05-28 14:25:17
【问题描述】:
我正在尝试构建一个通用工具来查找休眠类并通过元数据使用其方法。
所以我从数据库中得到 1: "TABLENAME" 2. "methodname"
第 1 步。找到休眠已完成。
Class<?> result = generator.getClassFromTableName("TABLENAME");
第 2 步。使用返回的类中的方法是我没有得到的。
我需要使用类加载器还是通过result.getConstructors找到它?
如果我最终得到一个“TableName”实例并且能够访问它的所有方法,那么最简单的方法就是。希望清楚!
【问题讨论】:
-
我建议你阅读reflection
-
我确实看到了该指南,但我被困在 Bird bird = (Bird),对我来说这是不可能的。我只有类名和方法。结果(参数).方法名()。
-
Bird bird = (Bird) 在第 8 节中。泛型调用带有参数的对象构造函数及其方法是我卡住的地方
-
如果您无法访问(或无法预先了解要加载的实现的类的类型),则可以回退到
Object作为类型,并且可以通过反射调用方法API。如果您确实知道该类实现了哪个接口,则可以使用接口名称代替Object或类类型。