> 文档中心 > Java实现不同List对象之间的相互转换

Java实现不同List对象之间的相互转换

编写工具类ListConverterUtils代码如下:

public class ListConverterUtils<T, F> {    private final Class<F> fClazz;    /     * 构造方法,传入目标List的Class对象     *     * @param fClazz     */    public ListConverterUtils(Class<F> fClazz) { this.fClazz = fClazz;    }    /     * 将List转换为List     *     * @param pList     * @return     */    public List<F> converterList(List<T> pList) { if (pList != null && pList.size() != 0) {     List<F> dList = new ArrayList<>();     try {  Iterator var3 = pList.iterator();  while (var3.hasNext()) {      T t = (T) var3.next();      F f = this.fClazz.newInstance();      BeanUtils.copyProperties(t, f);      dList.add(f);  }     } catch (Exception var6) {  var6.printStackTrace();     }     return dList; } else {     return new ArrayList<>(); }    }}

使用方法:
加入有两个类,分别为UserUserDto,实现List转换代码如下:

public class Test{    public static void main(String[] args) {// 构建User对象 User user = new User(); // 设置参数 user.setId("id"); user.setName("name"); // 封装List集合 List<User> userList = new ArrayList<>(); userList.add(user); // 将List转List ListConverterUtils converterUtils = new ListConverterUtils(UserDto.class); List<UserDto> list = converterUtils.converterList(userList);    }}