Kürzlich gibt es aufgrund eines für das Projekt verantwortlichen Moduls viele Kategorien unter diesem Modul, und jede Kategorie verfügt über einen codierten Code, und dieser Wert wird als Parameter übertragen. Jeder Code entspricht einer Methode.
Es gibt viele Codewerte, und ich möchte keine Urteile von IFelse oder Schalten vornehmen, daher habe ich nach Informationen gesucht, wodurch ich hauptsächlich festgestellt habe, dass die Verwendung von Javas Reflexionsmechanismus dieses Problem perfekt lösen kann
Der Testcode lautet wie folgt: (kann mehrere Parameter tragen)
Paket com.escs.xmlutils; import Java.lang.reflect.method; public class test {public String ceshi () {system.out.println ("11111111111111"); zurück "Erfolg";} public static void Main (String [] args) löst Ausnahme aus {// // schreiben Ihren eigenen Klassennamen und Ihren eigenen Klassennamen und Ihren eigenen Klassennamen und Ihren eigenen Klassennamen schreiben. Class.forname ("com.escs.xmlutils.test"); Objekt obj = C.NewinStance (); // Der erste Parameter wird als Method -Name geschrieben, das zweite/dritte/... es wird als Typ des Parameters in der Methode Parameterlistenmethode = c.getMethod geschrieben ("ceshi2", String.ClASS.ClASS, INT.CLASS, INT.CLASS, INT.CLASS, INT.CLASS, INT.CLASS, INT.CLASS); (String) method.invoke (obj, neues Objekt [] {"myName", 4}); System.out.println (str2); } public String ceshi (String str) {// für (int j = 0; j <integer.ValueOf (i); j ++) {System.out.println (str); //} return str; } public String ceshi2 (String str, int i) {für (int j = 0; j <i; j ++) {System.out.println (str+"22222"); } return str; }} Dies erleichtert es, wenn der Methodenname dynamisch gespleißt ist. Zum Beispiel haben meine Codewerte 100, 1 ~ 100, und meine Codemethoden sind returnCodelist (); Zu diesem Zeitpunkt extrahieren wir die obige Methode und geben den Wert zurück, den wir benötigen, zum Beispiel:
public String fanshe (String methodName, String className) löst ClassNotFoundException, SecurityException, NoSuchMethododException, Instantiationsexception, IllegalAccessexception, IllegalArgumentException, InvocationTargetException {// Ihren eigenen Klassennamen und Pfad in It Class). Name, die zweite/dritte/... Schreiben Sie den Typ des Parameters in der Methode der Methode Parameterlistenmethode }Natürlich müssen Sie in den tatsächlichen Bedürfnissen die Methoden immer noch entsprechend den Anforderungen des Projekts ziehen. Ich hoffe, es wird für alle hilfreich sein.
Das obige Beispiel für die dynamische Ausführungsmethode der Java -Reflexionsspleißmethode ist der gesamte Inhalt, der vom Editor geteilt wird. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie können Wulin.com mehr unterstützen.