Red de conocimiento informático - Conocimiento informático - ¿Cómo llamar a un método con parámetros variables mediante la reflexión de Java?

¿Cómo llamar a un método con parámetros variables mediante la reflexión de Java?

La forma en que la reflexión JAVA llama a métodos con parámetros variables es pasando parámetros de objeto, como el siguiente código: public?class?Reflect?{

public?static?void?main( String[]?args)?throws?Exception?{

Classlt;? gt;?clazz?=?Single.class;

¿Single?single?=?(Single)? clazz.newInstance();

Listlt;Stringgt;?list?=?new?ArrayListlt;Stringgt;(){

privado? , ?0).getClass());

/*?2?*/

método?=?clazz.getDeclaredMethod("método",?(new?Object[0 ] ).getClass());

//Inicializar argumentos

/*?1?*/

Objeto?objs?=?Array.newInstance( Objeto .class,?2);

Array.set(objs,?0,?list);

Array.set(objs,?1,?" 23");

method.invoke(single,?objs);

/*?2?*/

Objeto[]?objects?=?{1,? " joder",?lista};

method.invoke(single,?new?Object[]{?objects?});

}

}

¿clase?Única?{

¿público?método void?(Objeto... ?objs)?{

System.out.println(Arrays.deepToString ( objs));

}

}

Resultados:

[[joder,?ni,?mei],?23 ]

[1,?cao, ni, m]]

[1,?