Aufruf der Setter-Methode mit Java Reflection
Ich muss die Setter-Methoden einer Klasse mithilfe von Reflection aufrufen. Der Code lautet wie folgt:
<code>try { Method method = myObj.getClass().getMethod("set" + fieldName, new Class[] { value.getClass() }); method.invoke(myObj, value); } catch (Exception ex) { ex.printStackTrace(); } </code>
Dasvalue
ist einArrayList
und die Setter-Methode ist wie folgt:
<code>public void setNames(List<String> names){ this.names = names; } </code>
A java.lang.NoSuchMethodException
wird ausgelöst, wenn dieser Code ausgeführt wird, der Parametertyp der Setter-Methode jedoch in geändert wirdArrayList
vonList
es funktioniert gut. Gibt es eine Möglichkeit, den Parameter der Setter-Methode im Supertyp zu belassen und dennoch Reflection zu verwenden, ohne den Typ des Parameters manuell anzugeben, wenn die Methode von der Klasse abgerufen wird?