前言
整理下工作中遇到的,比较通用的一些工具类。
有时间的话,我会尽可能更新在此文章上…
bean工具类
public class BeansHelper {
/**
* 单个 将类进行转换(支持嵌套)
*/
public static <S, T> T castTo(S source, Class<T> clazz) {
return JSONObject.parseObject(JSONObject.toJSONString(source), clazz);
}
/**
* 批量 将类进行转换(支持嵌套)
*/
public static <S, T> Collection<T> castTo(Collection<S> source, Class<T> clazz) {
return JSONArray.parseArray(JSONObject.toJSONString(source), clazz);
}
/**
* 获取本类及其父类的属性的方法
* @param clazz 当前类对象
* @return 字段数组
*/
public static Field[] getAllFields(Class<?> clazz) {
List<Field> fieldList = new ArrayList<>();
while (clazz != null){
fieldList.addAll(new ArrayList<>(Arrays.asList(clazz.getDeclaredFields())));
clazz = clazz.getSuperclass();
}
Field[] fields = new Field[fieldList.size()];
return fieldList.toArray(fields);
}
}