用于方法反射的通用Caster

时间:2014-02-13 09:15:46

标签: java reflection casting

我有一个方法Map(getter方法),我在一些对象上调用它们,getter方法返回不同类型的数据,即int string等... 我正在尝试做类似

的事情
String col1= <method name>; //getId()
Class c = colGetterMap.get(col1).getReturnType();
(c) colGetterMap.get(col1).invoke(object);

但是我正在

cannot find symbol Class c

1 个答案:

答案 0 :(得分:2)

进行强制转换时,将类名放在括号中,即String string = (String) obj

在你的情况下,你正在尝试强制转换为实例。 c只是类Class<?>的实例,  所以要正确地执行此操作,请在类实例c.cast(colGetterMap.get(col1).invoke(object))上调用cast方法,现在它应该可以正常工作