String... 本质是String[], 在使用反射获取方法的时候需要使用String[].class
调用invoke方法时候需要用Object[]
public class A {
public void a(String... str) {
System.out.println("a");
}
//获取反射对象的方法
public static void main(String[] argos) {
Object o = A.class.newInstance();
Method method = A.class.getDeclaredMethod("a", new Class[]{String[].class});
//注意:invoke方法参数虽然是(Object o, Object... args),但是此处需要用Object[],不然报错
method.invoke(o, new Object[]{new String[]{"123", "345"}});
}
}
219



被折叠的 条评论
为什么被折叠?



