List<T> 类型的集合 list,通过 get(0) 是不是获取 T 类型的对象?为什么会在这里报错,看下面图片
下面是 transSourceToTarget 所在类的源码
package com.xdf.xzymanagementsystem.util;
import org.dozer.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
public class CustumDozerMapperUtils {
private Mapper mapper;
@Autowired
public void setMapper(Mapper mapper) {
this.mapper = mapper;
}
/**
* 转换集合
*
* @param list
* @param clazz
* @return
*/
public <T, V> List<V> transSourceToTarget(List<T> list, Class<V> clazz) {
if (list == null) return null;
List<V> target = new ArrayList<>();
for (T t : list) {
target.add(mapper.map(t, clazz));
}
return target;
}
/**
* 转化对象
*
* @param source
* @param clazz
* @param <T>
* @param <V>
* @return
*/
public <T, V> V transObject(T source, Class<V> clazz) {
if (source == null) return null;
return mapper.map(source, clazz);
}
/**
* 是否为空
*
* @param list
* @return
*/
public static boolean isEmpty(List list) {
return list == null || list.size() <= 0;
}
}
是不是用了spring-devtools热部署?
热部署使用RestartClassLoader,而运行中使用的AppClassLoader所以导致了ClassCastException。
你可以打印看下加载器。