简体   繁体   English

用于方法反射的通用Caster

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM