我有一个看起来像这样的方法;
public void update(List<Object> obj);
我希望能够使用 java.lang.reflect.Method 来调用该方法。有谁知道怎么做呢?
答案 0 :(得分:5)
使用Class
类获取方法:
Class<?> clazz = theObject.getClass();
Method method = clazz.getMethod("update", List.class);
然后调用方法:
method.invoke(theObject, new ArrayList<Object>());
泛型在运行时被删除。它们是编译时间的东西。因此,您可以使用List.class
来引用List<Object>
。
答案 1 :(得分:1)
myObject.getClass()
.getMethod("update", List.class)
.invoke(myObject, myListOfObject);