报错原因:非法参数(参数个数错误)IllegalArgumentException: wrong number of arguments
这个错误也算是比较常见了,但是应该没有人这样使用!
由于需求是:
- 将为“”(空字符串)的属性值设置为:null
所以调用invoke方法时,直接传入参数null导致报错
解决方法:
构造一个与该属性类型一致的变量传入即可
例如:字段类型是java.lang.String(字符串类型)
if (field.getType() == String.class && "".equals(readMethod.invoke( object ))) {
String nullObj = null;
writeMethod.invoke( object, nullObj );
}