java反射机制不支持可变参数

来源:互联网 发布:承接工程项目软件 编辑:程序博客网 时间:2024/06/05 11:09

class X {

public void test(int... args) {

}

}

main() {

Method m = X.class.getMethod("test", int[].class);

m.invoke(new X(), 1, 2, 3); //这里会报错

}

由于java的反射机制不支持可变参数,所以Method.invoke方法中传入可变参数则会报错。

解决方法:将上述的m.invoke(new X(), 1, 2, 3);换成m.invoke(new X(), new int[]{1, 2, 3});

0 0
原创粉丝点击