Ist es bzw. wie ist es möglich, mit Java Reflections auf statische Methoden zuzugreifen?
public class StaticReflection {
public static void main(String[] args) {
try {
Class clazz = Class.forName("java.lang.String");
Class[] paramClasses = {int.class};
java.lang.reflect.Method meth = clazz.getMethod("valueOf", paramClasses);
int i = 77;
Object[] params = {new Integer(i)};
String s = "";
s = (String)meth.invoke(null, params);
System.out.println(s);
} catch(Exception e) {
e.printStackTrace();
}
}
}
Schoppenhauer hat gesagt.:O.K., das leuchtet mir ein. Danke.
Aber jetzt mal noch ne Frage... Wie kann ich überhaupt feststellen, ob ein Method-Objekt eine statische Funktion repräsentiert, oder nicht? Gibt es da sowas wie isStatic(), oder so?
java.lang.reflect.Modifier.isStatic(method.getModifiers())