Typen der Parameter von aktueller Methode holen

Hi,

ich suche eine Möglichkeit, wie ich von der aktuellen Methode die Anzahl Parameter bekommen kann und dann jeweils Arrays für die Typen (Class[] paramTypes:wink: und Werte (Object[] paramValues:wink: der Parametern füllen kann.
Kann mir da jemand helfen? Ich vermute, dass das irgendwie über reflections gehen muss, komme aber nicht so richtig weiter.

Danke für eure Hilfe,
Andreas

Hi,

ich suche eine Möglichkeit, wie ich von der aktuellen Methode
die Anzahl Parameter bekommen kann und dann jeweils Arrays für
die Typen (Class[] paramTypes:wink: und Werte (Object[]
paramValues:wink: der Parametern füllen kann.
Kann mir da jemand helfen? Ich vermute, dass das irgendwie
über reflections gehen muss, komme aber nicht so richtig
weiter.

paramTypes über .instanceOf
paramValues über .valueOf

so zeigt er dir alles, nimm raus was du brauchst

private void zeigAlles(Object object) throws IllegalArgumentException, IllegalAccessException, SecurityException, NoSuchFieldException {
Class c = object.getClass();
for (Field field : c.getDeclaredFields()) {
field.setAccessible(true);
if(!field.getType().isPrimitive() && !(field.get(object) instanceof String)){
zeigAlles(field.get(object));
}
else
System.out.println("Name: „+field.getName()+“ - Klasse: „+field.get(object).getClass().getName()+“ Value: "+field.get(object));
}

Die Lösung des Problems liegt in dem package java.lang.reflect

für java.lang.reflect.Method gibts die funktion
getParameterTypes(), dass dir ein array mit Class
(Class[]) zurückliefert. Daraus kann man dann ein Object[] ableiten
das man der Methode übergibt.

Gruß Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]