在调用反射的 invoke()
方法的时候,如果要为数组类型的属性赋值,要注意可变参数的问题:
//数组类型
private String[] logicTables;
//属性值
String[] strings = parsePropertyValue(value);
//赋值给 Object[]
desc.getWriteMethod().invoke(this, new Object[]{strings});
否则会出现异常:
IllegalArgumentException: wrong number of arguments