我正在尝试的一种正常形式是这样的。
MyClassFacadeLocal cls = new MyClassFacadeLocal();
List allMyClass = cls.findAll();
Iterator it = allMyClass.iterator();
while(it.haxNext()) {
MyClass Obj = (MyClass)it.next();
out.println(obj.getTitle());
}
现在,我正在创建一个全局方法的问题,它可以处理这种情况的几种情况。为此,我将传递实体类名称、方法名称和方法返回的列表.findAll()
。如何使用反射解决这个问题。我尝试的非常粗糙,当然没有奏效。
List allMyClass; //I will have passed this before
Iterator it = allMyClass.iterator();
while(it.hasNext()) {
try {
Class<?> c = Class.forName(this.getEntityClassName());
c.cast(it.next());
Method method = c.getDeclaredMethod("getTitle");
String title = method.invoke(c, null).toString();
} catch(Exception e) {
}
}
给出:"object is not an instance of declaring class"
错误。但我相信这是一个使用缺陷。