Quindi sto provando a richiamare un costruttore di classi in fase di esecuzione. Ho il seguente frammento di codice:Errore Java Reflections: numero errato di argomenti
String[] argArray = {...};
...
Class<?> tempClass = Class.forName(...);
Constructor c = tempClass.getConstructor(String[].class);
c.newInstance(argArray);
...
Ogni volta che compilare il codice e passare una classe, ottengo un IllegalArgumentException: sbagliato numero di argomenti. Il costruttore della classe che sto chiamando accetta String [] come unico argomento. La cosa strana è che se cambio il costruttore per prendere un intero e usare Integer.TYPE e chiamare c.newInstance (4) o qualcosa, funziona. Qualcuno può spiegarmi cosa sto facendo male? Grazie.
Modifica ;; errore completo:
java.lang.IllegalArgumentException: wrong number of arguments
[Ljava.lang.String;@2be3d80c
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
Potresti postare l'errore completo? –
Aggiunto traccia dello stack :) – de1337ed