使用反射将List<SomeObject>作为参数的java How get方法
我有
public void setContacts(List<PersonContact> contacts) {
this.contacts = contacts;
}
需要使用反射来获得这种方法,我已经尝试过了
clazz.getMethod("setContacts", ArrayList.class);
显示错误:
java.lang.NoSuchMethodException: model.person.Person.setContacts(java.util.ArrayList)
没错,方法签名是
setContacts(List<PersonContact> contacts)
那么,如何在getMethod中传递正确的签名呢
# 1 楼答案
参数类型是
java.util.List
,而不是java.util.ArrayList
使用实际类很重要,因为还可以使用ArrayList参数重载该方法