Wenn Sie beispielsweise ein Befehlszeilentool entwickeln, möchten Sie möglicherweise die Hauptmethode testen oder debuggen. Reflexion ist in solchen Fällen nützlich, aber wie kann die Hauptmethode aus Reflexion ausgeführt werden? Die Schlussfolgerung ist das folgende Beispiel.
try {
Method mainMethod = Sample.class.getMethod("main", String[].class);
String[] args = {"arg1", "arg2", "arg3"};
mainMethod.invoke(null, (Object) args);
} catch (NoSuchMethodException
| SecurityException
| IllegalAccessException
| IllegalArgumentException
| InvocationTargetException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
Ist es als Punkt "aufrufen"? __ Geben Sie dem ersten Argument "null" und geben Sie "args" an, die für den nachfolgenden Argumentteil mit variabler Länge in "Object" umgewandelt wurden. __ Schützen wir diese beiden Punkte und haben Spaß beim Nachdenken (´ ω ・ `)
Recommended Posts