java类对象转换

public class EntityConvertUtil {

    //属性值过滤器
    private static final ValueFilter valueFilter = new ValueFilter() {

        @Override
        public Object process(Object object, String name, Object value) {
            return value;
        }
    };

    /**
     * 实体转换成Do
     * 
     * @param obj
     * @param clazz
     * @return
     */
    public static <T> T EntityToDo(Object obj, Class<T> clazz) {
        if (obj == null || clazz == null) {
            return null;
        }
        String json = JSON.toJSONString(obj, valueFilter);
        return JSON.parseObject(json, clazz);
    }

    /**
     * Do转换成实体
     * 
     * @param Do
     * @param clazz
     * @return
     */
    public static <T> T DoToEntity(Object Do, Class<T> clazz) {
        if (Do == null || clazz == null) {
            return null;
        }
        String json = JSON.toJSONString(Do, valueFilter);
        return JSON.parseObject(json, clazz);
    }

    /**
     * 将实体集合转换成Do集合
     * 
     * @param entityList
     * @param clazz
     * @return
     */
    public static <T> List<T> EntityListToDoList(List<?> entityList, Class<T> clazz) {
        List<T> list = new ArrayList<>();
        for (Object entity : entityList) {
            list.add(EntityToDo(entity, clazz));
        }
        return list;
    }

    /**
     * 将Do集合转换成实体集合
     * 
     * @param doList
     * @param clazz
     * @return
     */
    public static <T> List<T> DoListToEntityList(List<?> doList, Class<T> clazz) {
        List<T> list = new ArrayList<>();
        for (Object Do : doList) {
            list.add(DoToEntity(Do, clazz));
        }
        return list;
    }

}
 

猜你喜欢

转载自my.oschina.net/u/3820486/blog/1794125
今日推荐