Недавно из -за модуля, ответственного за проект, в этом модуле есть много категорий, и каждая категория имеет кодированный код, и это значение выполняется в качестве параметра. Но каждый код действительно соответствует методу.
Есть много значений кода, и я не хочу выносить суждения Ifelse или Switch, поэтому я искал информацию, которая в основном заставило меня найти, что использование механизма отражения Java может идеально решить эту проблему
Тестовый код заключается в следующем: (может нести несколько параметров)
пакет com.escs.xmlutils; import java.lang.reflect.method; public class test {public String ceshi () {System.out.println ("111111111111"); вернуть "успех";} public static void main (String [] args) Throhs Exception {// Напишите свое собственное имя класса и Path In IT IT IT Class <? Class.forName("com.escs.xmlutils.Test");Object obj = c.newInstance();//The first parameter is written as the method name, the second/third/...it is written as the type of the parameter in the method parameter list Method method=c.getMethod("ceshi2", String.class,int.class);//invoke executes the method and carries the parameter value String str2= (String) method.invoke (obj, новый объект [] {"myname", 4}); System.out.println (str2); } public String ceshi (String str) {// for (int j = 0; j <integer.valueof (i); j ++) {System.out.println (str); //} return str; } public String ceshi2 (String str, int i) {for (int j = 0; j <i; j ++) {System.out.println (str+"22222"); } return str; }} Это упростит, если имя метода динамически сплачивается. Например, значения моего кода имеют 100, 1 ~ 100, а методы моего кода - returncodelist (); В настоящее время мы извлекаем приведенный выше метод и возвращаем необходимое значение, например:
public String fanshe (String Methodname, String Classname) Throws ClassNotFoundException, SecurityException, Nosuchmethodexception, IntantiationException, allodalAccessexception, allodalArgumentException, vocationTargetException {// Написать свое собственное имя класса и путь в классе IT <?> Craly.Forname (ClassName); Имя метода, второе/треть/... Напишите тип параметра в методе списка метода метода = c.getMethod (methodname, string.class, int.class); // vinoke выполняет этот метод и несет значение значения параметра str2 = (string) method.invoke (obj, new Object [] {"myName", 4}); return str2; }Конечно, в реальных потребностях вам все еще нужно нарисовать методы самостоятельно в соответствии с потребностями проекта. Я надеюсь, что это будет полезно для всех.
Приведенным выше примером метода динамического выполнения Имя метода сплайсинга Java является все содержимое, общее редактором. Я надеюсь, что это может дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.