如何解决将列表作为参数传递给java.lang.reflect.Method
|| 我有一个看起来像这样的方法;public void update(List<Object> obj);
我希望能够使用java.lang.reflect.Method调用该方法。有人知道该怎么做吗?
解决方法
使用
Class
类获取方法:
Class<?> clazz = theObject.getClass();
Method method = clazz.getMethod(\"update\",List.class);
然后调用该方法:
method.invoke(theObject,new ArrayList<Object>());
泛型在运行时被擦除。它们是编译时的东西。因此,您可以使用List.class
来表示List<Object>
。
,是的,你可以
myObject.getClass()
.getMethod(\"update\",List.class)
.invoke(myObject,myListOfObject);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。