Java通过反射快速给实体类中相似字段属性赋值
最近遇到需要解析文件数据然后入库的需求,根据提供的文件解析后发现创建的实体类中有非常多的相似字段大概有90+个,如果手动赋值的话太累了而且不现实,所以这个时候就需要用到Java的反射机制进行快速赋值了,具体方法如下。
- 实体类,这里是贴出部分
public class ParseFileDatEntity {
private String VAL1;
private String VAL2;
private String VAL3;
private String VAL4;
private String VAL5;
private String VAL6;
private String VAL7;
private String VAL8;
private String VAL9;
private String VAL10;
}
- 下面就是通过反射机制进行快速赋值的方法
ParseFileDatEntity entity = new ParseFileDatEntity();
Class<?> spotObject = entity.getClass();
for (int i = 1; i <= 10; i++) {
String hKey = "VAL" + i;
spotObject.getMethod("set" + hKey, String.class).invoke(entity, "测试" + i);
}
System.out.println(entity.toString());
- 打印结果如下
ParseFileDatEntity{VAL1='测试1', VAL2='测试2', VAL3='测试3', VAL4='测试4', VAL5='测试5', VAL6='测试6', VAL7='测试7', VAL8='测试8', VAL9='测试9', VAL10='测试10'}
- 以上就是通过反射机制快速给实体类中相似字段属性赋值的方法,不足的地方还请指正。