今天技术之家陪你一起了解java开发中遍历一个对象的所有属性并set值 缓存优化:
Java反射
1、创建缓存池,可以加快访问速度private static final Map> CACHE = new HashMap>();
2、获取实体类的所有属性,返回Field列表private List getFieldOfClass(Class> clazz) {
List fields = CACHE.get(clazz.getName());
if (fields == null) {
Field[] fieldArr = clazz.getDeclaredFields();
fields = new ArrayList(fieldArr.length);
for (Field each : fieldArr) {
each.setAccessible(true);
fields.add(each);
}
CACHE.put(clazz.getName(), fields);
}
return fields;
}
3、为对象设置值public T setObjVal(T obj) {
if (obj == null) {
return null;
}
List fields = getFieldOfClass(obj.getClass());
for (int j = 0, size = fields.size(); j
try {
// 获取属性的名字
Field each = fields.get(j);
//为set方法set值
each.set(obj, "参数值");
} catch (Exception e) {
e.printStackTrace();
}
}
return obj;
}
技术之家希望本篇文章对你有用!!
欢迎来到技术之家,
如需转载,烦请保留本文链接和出处:http://www.jszja.com/contents/14/1443.html
您的支持将是我们前进的动力!如对本篇文章有疑问或建议,请通过本站下方邮箱联系我们,让技术之家每天进步一点点!(●'◡'●)