Recentemente, devido a um módulo responsável pelo projeto, existem muitas categorias neste módulo, e cada categoria possui um código codificado, e esse valor é transportado como um parâmetro. Mas cada código corresponde a um método.
Existem muitos valores de código e não quero fazer julgamentos Ifelse ou mudar, por isso procurei informações, o que me fez descobrir que o uso do mecanismo de reflexão de Java pode resolver perfeitamente esse problema
O código de teste é o seguinte: (pode carregar vários parâmetros)
pacote com.escs.xmlutils; importar java.lang.reflect.method; public class Test {public string ceshi () {System.out.println ("11111111111111"); return "succen";} public static void main (string [] args)? Class.ForName ("com.escs.xmlutils.test"); objeto obj = c.newInstance (); // O primeiro parâmetro é escrito como o nome do método, o segundo/terceiro/... é escrito como o tipo de parâmetro no método do método do parâmetro Método = c.getMethod ("ceshi2", string.clast, int.cll); (String) Method.invoke (obj, novo 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); //} retornar str; } public string ceshi2 (string str, int i) {for (int j = 0; j <i; j ++) {system.out.println (str+"22222"); } retornar str; }} Isso facilitará se o nome do método for dinamicamente emendado. Por exemplo, meus valores de código têm 100, 1 ~ 100, e meus métodos de código são returnCodelist (); No momento, extraímos o método acima e retornamos o valor de que precisamos, por exemplo:
public string fãshe (string métodname, string className) lança ClassNotFoundException, SecurityException, NosuchmethodException, InstantionationException, IllegalAccessException, IllegalarGumentException, InvocationTargeTexception {// Escreva seu próprio nome e o caminho em IT <?> c = Class.Forname (ClassName); O nome do método, o segundo/terceiro/... escreva o tipo de parâmetro no método do método da lista de parâmetros do método = c.getMethod (MethodName, String.class, int.class); // Invoke Executa esse método e carrega o parâmetro value string str2 = (string). }Obviamente, nas necessidades reais, você ainda precisa desenhar os métodos de acordo com as necessidades do projeto. Espero que seja útil para todos.
O exemplo acima do método de execução dinâmica do nome do método de splicing de reflexão Java é o conteúdo inteiro compartilhado pelo editor. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.