IllegalArgumentException mit der Erstellung der Klasse mit der spiegelung und der array-Argumente
ausführen des folgenden Codes:
public class Test {
public Test(Object[] test){
}
public static void main(String[] args) throws Exception{
Constructor cd = Test.class.getConstructor(Object[].class);
Object[] objs = {1, 2, 3, 4, 5, 6, 7, 8};
cd.newInstance(objs);
}
}
Bekomme ich die Fehlermeldung :
Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at groupd.poker.utils.tests.ai.nqueens.Test.main(Test.java:17)
Warum ist das so?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den newInstance() Methode der Konstruktor der Klasse nimmt ein array von Objekten. Jedes Element im array ist ein argument für den constructor aufrufen. Ihre Klasse Konstruktor nimmt ein Objekt-array Sie müssen also ein Objekt-array innerhalb des array übergeben Sie an die neue Instanz-Methode