package com.ruoyi.im.util; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; /** * @description: * @create: 2024-08-19 18:29 **/ public class ConverterUtil { public static V convert(T pojo, Class 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 List convertToList(List pojoList, Class voClass) { List voList = new ArrayList<>(); for (T pojo : pojoList) { V vo = convert(pojo, voClass); voList.add(vo); } return voList; } }