如何使用Reflection </someobject>将List <someobject>作为参数获取方法

时间:2014-02-04 15:07:01

标签: java reflection

我有

public void setContacts(List<PersonContact> contacts) {
    this.contacts = contacts;
}

需要使用Reflection获取此方法,我已经尝试了

  clazz.getMethod("setContacts", ArrayList.class);

显示错误:

java.lang.NoSuchMethodException: model.person.Person.setContacts(java.util.ArrayList)

这是正确的,方法签名是

    setContacts(List<PersonContact> contacts)

那么,我怎样才能在getMethod中传递正确的签名?

1 个答案:

答案 0 :(得分:2)

参数类型为java.util.List而不是java.util.ArrayList

clazz.getMethod("setContacts", List.class);

使用实际的类很重要,因为你也可以使用ArrayList参数重载该方法