[英]generic Caster for method reflection
I have a Map of methods(getter methods) , I invoke them on some object , the getter method returns different types of data ie int string etc... am trying to do something like 我有一个方法的Map(getter方法),我在一些对象上调用它们,getter方法返回不同类型的数据,即int string等...我试图做类似的事情
String col1= <method name>; //getId()
Class c = colGetterMap.get(col1).getReturnType();
(c) colGetterMap.get(col1).invoke(object);
but am getting 但我得到了
cannot find symbol Class c
When you do casting, you put class name in brackets, ie String string = (String) obj
在进行强制转换时,将类名放在括号中,即
String string = (String) obj
in your case, you are trying cast to instance. 在你的情况下,你正在尝试强制转换为实例。
c
is just instance of class Class<?>
, so to do this properly, invoke cast method on your class instance c.cast(colGetterMap.get(col1).invoke(object))
now it should work c
只是类Class<?>
实例,所以为了正确地执行此操作,请在类实例c.cast(colGetterMap.get(col1).invoke(object))
上调用cast方法,现在它应该可以正常工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.