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;
}
}