反射遇到重载的 参数类型问题?
1.第一种情况
getMethod(String methodName, Class<?> argType[]);方法 public void add(int a, int b) {
System.out.println(a+b);
}调用的时候 输入的参数 Object[] param = {1,2};
调用add 抛出异常 没有该方法 xx.xx.add(Integer, Integer) 这个参数 匹配不上。2.第二种情况reflect 调用overload方法时 参数 匹配的问题。
1.第一种情况
getMethod(String methodName, Class<?> argType[]);方法 public void add(int a, int b) {
System.out.println(a+b);
}调用的时候 输入的参数 Object[] param = {1,2};
调用add 抛出异常 没有该方法 xx.xx.add(Integer, Integer) 这个参数 匹配不上。2.第二种情况reflect 调用overload方法时 参数 匹配的问题。
class AA{
public static void add(int a, int b) {
System.out.println(a+b);
}
}
public class ReflectTest {
public static void main(String[] args)throws Exception {
AA aa = new AA();
Method m3 = AA.class.getDeclaredMethod("add", new Class[]{int.class,int.class});
m3.invoke(aa,new Object[]{1,2});//输出3
}
}