我在 Java 中面临一个非常奇怪的行为。我有两个没有层次结构连接的不同类:类模板(类型层次结构是 Object -> A -> B -> Template)和类 TemplateDto(Object -> TemplateDto)。
我正在使用 ModelMapper (org.modelmapper.ModelMapper) 在两个类之间进行映射(由于字段名称相同,因此使用默认映射)。
有以下代码:
List<Template> templates = cvService.getTemplates();
List<TemplateDto> resultDtos = new ArrayList<TemplateDto>();
modelMapper.map(templates,resultDtos);
TemplateDto example = resultDtos.get(0);
最后一行抛出:
java.lang.ClassCastException: com.vs.framework.domain.cv.Template cannot be cast to com.vs.framework.dto.cv.TemplateDto
这很奇怪。当我调试这一部分时,我看到映射后,resultDtos 是 List 类型的列表,而不是 List,这让我大吃一惊。
我试图清理我的tomcat,maven clean install,但它仍然会发生。
有任何想法吗?