反射和运行时类来获取方法

时间:2017-11-16 15:44:42

标签: java

实际上在我所有班级中,我总是有属性名称

Class clazz,Object obj

当我们知道对象类型时,我们可以做类似的事情(如果id是属性....)

Integer id = ((BaseObj) field.get(obj)).getId();

实际上

field.get(OBJ))

返回一个对象,我搜索获取该对象的name属性值。

我搜索做类似

的事情
String name = ((clazz.getClass()) field.get(obj)).getName();

1 个答案:

答案 0 :(得分:1)

您无法转换为仅在运行时知道的类。要么让所有这些类都使用getName()方法实现一个接口,要么你必须求助于反射:

String name = (String) clazz.getMethod("getName").invoke(obj);