实际上在我所有班级中,我总是有属性名称
Class clazz,Object obj
当我们知道对象类型时,我们可以做类似的事情(如果id是属性....)
Integer id = ((BaseObj) field.get(obj)).getId();
实际上
field.get(OBJ))
返回一个对象,我搜索获取该对象的name属性值。
我搜索做类似
的事情String name = ((clazz.getClass()) field.get(obj)).getName();
答案 0 :(得分:1)
您无法转换为仅在运行时知道的类。要么让所有这些类都使用getName()
方法实现一个接口,要么你必须求助于反射:
String name = (String) clazz.getMethod("getName").invoke(obj);