Recientemente, debido a un módulo responsable del proyecto, hay muchas categorías en este módulo, y cada categoría tiene un código codificado, y este valor se lleva como un parámetro. Pero cada código corresponde a un método.
Hay muchos valores de código, y no quiero hacer juicios de Ifelse o Switch, por lo que busqué información, lo que principalmente me hizo encontrar que usar el mecanismo de reflexión de Java puede resolver perfectamente este problema.
El código de prueba es el siguiente: (puede llevar múltiples parámetros)
paquete com.escs.xmlutils; import java.lang.reflect.method; public class test {public string ceshi () {System.out.println ("11111111111111"); return "Success";} public static void main (string [] args) arroja excepción {// Escribe tu propio nombre de clase y ruta en la clase <?> c = C = 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, nuevo objeto [] {"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; }} Esto lo hará más fácil si el nombre del método se splica dinámicamente. Por ejemplo, mis valores de código tienen 100, 1 ~ 100, y mis métodos de código son returncodeList (); En este momento, extraemos el método anterior y devolvemos el valor que necesitamos, por ejemplo:
public String Fanshe (String MethodName, String ClassName) lanza ClassNotFoundException, SecurityException, NosuchMethodException, InstanciationException, IlegalAccessException, ilegalArGumentException, InvocationTargetException {// escriba su propio nombre de clase y ruta en it El nombre del método, el segundo/tercero/... escriba el tipo de parámetro en el método del método de la lista de parámetros Método = c.getMethod (métodeName, string.class, int.class); // Invoke ejecuta este método y lleva el valor de parámetro str2 = (string) métod.invoke (obj, nuevo objeto [] {"myName", 4}); return str2; }Por supuesto, en las necesidades reales, aún necesita dibujar los métodos usted mismo de acuerdo con las necesidades del proyecto. Espero que sea útil para todos.
El ejemplo anterior del método de ejecución dinámica del nombre del método de empalme de reflexión Java es todo el contenido compartido por el editor. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.