Wywoływanie metody ustawiającej za pomocą java reflection
Muszę wywołać metody ustawiające klasy za pomocą odbicia, a kod jest następujący:
<code>try { Method method = myObj.getClass().getMethod("set" + fieldName, new Class[] { value.getClass() }); method.invoke(myObj, value); } catch (Exception ex) { ex.printStackTrace(); } </code>
Thevalue
jestArrayList
a metoda ustawiająca jest następująca:
<code>public void setNames(List<String> names){ this.names = names; } </code>
A java.lang.NoSuchMethodException
jest generowany podczas uruchamiania tego kodu, ale gdy typ parametru metody ustawiającej zostanie zmieniony naArrayList
zList
działa dobrze. Czy istnieje sposób, aby zachować parametr metody setter w super typie i nadal używać odbicia bez ręcznego podawania typu parametru podczas pobierania metody z klasy?