在调用反射的 ​​invoke()​​ 方法的时候,如果要为数组类型的属性赋值,要注意可变参数的问题:

//数组类型
private String[] logicTables;


//属性值
String[] strings = parsePropertyValue(value);
//赋值给 Object[]
desc.getWriteMethod().invoke(this, new Object[]{strings});

否则会出现异常:

IllegalArgumentException: wrong number of arguments

欢迎关注公众号

​​​​​​​​​​​

反射为数组属性设值_公众号