Ich versuche, eine Methode zu schreiben, die eine statische Methode aus einer anderen Klasse ausführt, indem sie ein Array von Strings als Argumente an die Methode übergibt.
Folgendes habe ich:
%Vor%So dass das:
%Vor%Sollte dies ausführen:
%Vor% Ich bekomme jedoch IllegalArgumentException
s.
Sie haben zwei Probleme:
String[]
, aber Sie übergeben ein Object[]
Die Probleme sind alle im inneren try
-Block, also zeige ich nur diesen Code.
Danke Perception , um mich an das varargs-Problem zu erinnern
Die Methode, die Sie aufrufen möchten, erwartet das String-Array, jedoch übergeben Sie das Object-Array als Parameter. Ändern Sie es in String-Array Oder Sie können einen beliebigen Typ übergeben, wenn die Methode Objekt erwartet.
method.invoke (null, (Object) -Befehl);
Basierend auf dieser Frage sieht es so aus, als ob der Anruf
Tags und Links java reflection method-invocation