package com.ruoyi.im.util;
|
|
import java.lang.reflect.Field;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @program: dabaogp
|
* @description:
|
* @create: 2024-08-19 18:29
|
**/
|
public class ConverterUtil {
|
|
public static <T, V> V convert(T pojo, Class<V> voClass) {
|
try {
|
V vo = voClass.newInstance();
|
Field[] pojoFields = pojo.getClass().getDeclaredFields();
|
Field[] voFields = voClass.getDeclaredFields();
|
for (Field pojoField : pojoFields) {
|
pojoField.setAccessible(true);
|
for (Field voField : voFields) {
|
voField.setAccessible(true);
|
if (pojoField.getName().equals(voField.getName()) && pojoField.getType().equals(voField.getType())) {
|
voField.set(vo, pojoField.get(pojo));
|
break;
|
}
|
}
|
}
|
return vo;
|
} catch (InstantiationException | IllegalAccessException e) {
|
e.printStackTrace();
|
return null;
|
}
|
}
|
public static <T, V> List<V> convertToList(List<T> pojoList, Class<V> voClass) {
|
List<V> voList = new ArrayList<>();
|
for (T pojo : pojoList) {
|
V vo = convert(pojo, voClass);
|
voList.add(vo);
|
}
|
return voList;
|
}
|
|
|
}
|