Java实体类循环操作
Java实体类循环操作有时候咱们会遇到一些需求,需要循环实体类的字段来进行一些数据操作这个时候我们就要用到java的反射先看代码实体类:TestUser.java```@Data@NoAr
Java实体类循环操作
有时候咱们会遇到一些需求,需要循环实体类的字段来进行一些数据操作
这个时候我们就要用到java的反射
先看代码
实体类:TestUser.java
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TestUser {
private Long id;
private String name;
private String nickname;
private Integer sex;
private Integer age;
}
这里@Data,@NoArgsConstructor,@AllArgsConstructor是lombok的注解偷懒专用,如果不熟悉lombok可以看我这篇文章
然后如下:
public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {
TestUser testUser = new TestUser();
testUser.setId(1L);
testUser.setName("大黄");
testUser.setNickname("云迈科技-java开发");
testUser.setAge(12);
testUser.setSex(12);
Field[] fields = testUser.getClass().getDeclaredFields();
for (Field field : fields){
//取消java语言访问检查,因为JDK的安全检查耗时较多,所以取消掉,加快速度
field.setAccessible(true);
//获取当前字段的key名
String key = field.getName();
//为字段key名第一个字符设置为大写
String method = key.substring(0, 1).toUpperCase() + key.substring(1);
Method me = null;
try {
//获取类的方法
me = testUser.getClass().getDeclaredMethod("get" + method);
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
//根据方法,来执行
System.out.println(me.invoke(testUser));
}
}
很简单几个操作
先通过getDeclaredFields()获得某个类的所有声明的字段数组
然后开始for循环操作
就是这么简单
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~