Hallo,
Ich habe eine Methode die ein Object, einen Methodennamen als String, und eine Array von Objekten(Übergabeparameter) entgegennimmt.
Hier versuche ich nun per Reflection auf den Übergebenen obejct die Methode mit den Übergebenen Paramtern
aufzurufen.
Das funktioniert auch so weit ganz gut, nur wenn ich jetzt z.B. so eine Methode habe.
Dann würde ich ja, weil meine Parameter alle Objekte sind auf
überprüfen und dann findet er die Methode natürlich nicht.
Ich weis aber das so ein Methodenaufruf funktioniern würde.
Also zu meiner Frage.
Wie ist es möglich bei einer Methode zu überprüfen ob sie bestimmte Parameter entgegen nehmen kann??
Habe da schon was über isAssignableFrom gelesen, aber das führt mich irgendwie nicht zur Lösung.
Danke schonmal für euere Hilfe.
Ich habe eine Methode die ein Object, einen Methodennamen als String, und eine Array von Objekten(Übergabeparameter) entgegennimmt.
Hier versuche ich nun per Reflection auf den Übergebenen obejct die Methode mit den Übergebenen Paramtern
aufzurufen.
Code:
try
{
if (object != null)
{
Class[] classes = new Class[params.size()];
for (int i = 0; i < params.size(); i++)
{
Class clazz = params.get(i).getClass();
classes[i] = clazz;
}
Class classOfObject = object.getClass();
Method meth = classOfObject.getMethod(method, classes);
meth.invoke(object, params.toArray());
}
}
catch (Exception e)
{
e.printStackTrace();
}
Das funktioniert auch so weit ganz gut, nur wenn ich jetzt z.B. so eine Methode habe.
Code:
public void set(int a, int b)
{
//mach was
}
Dann würde ich ja, weil meine Parameter alle Objekte sind auf
Code:
public void set(Integer a, Integer b)
{
//mach was
}
Ich weis aber das so ein Methodenaufruf funktioniern würde.
Also zu meiner Frage.
Wie ist es möglich bei einer Methode zu überprüfen ob sie bestimmte Parameter entgegen nehmen kann??
Habe da schon was über isAssignableFrom gelesen, aber das führt mich irgendwie nicht zur Lösung.
Danke schonmal für euere Hilfe.