Java实体类反射
public static <T> T reflection(T entity){
Class<? extends Object> entityClass = entity.getClass();
//getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
Field[] fields = tClass.getDeclaredFields();
for (Field field : fields) {
try {
//取消访问检查,提高反射的效率。
field.setAccessible(true);
//获取字段名
String fieldName = field.getName();
//获取属性类型
String type = field.getGenericType().toString();
String value = "设置的属性值";
field.set(entity, value);
//根据相应类型赋值
switch (type) {
case "class java.lang.String":
field.set(entity, value);
break;
case "class java.lang.Integer":
field.set(entity, Integer.parseInt(value));
break;
case "class java.util.Date":
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
field.set(entity, sdf.parse(value));
break;
default:
//其他类型跳过
continue;
}
} catch (Exception e) {
e.toString());
}
}
return entity;
}
本文来自博客园,作者:zwbsoft,转载请注明原文链接:https://www.cnblogs.com/zwbsoft/p/16229886.html
电话微信:13514280351