代码编译时使用mapstruct转换类时出错:
java: Ambiguous mapping methods found for mapping collection element to cn.aaa.bbbb.NodeDTO:解决办法:
@Mapper
public interface NodeMapper {
NodeMapper INSTANCES = Mappers.getMapper(NodeMapper.class);
NodeDTO toDTO(NodeParam param);
NodeDTO toDto(NodeParam param);
List toDTOList(List param);
}
toDTOList方法编译后的内部实现其实是循环调用对象的转化方式(toDTO or toDto), 看下Converter类可以见到有2个NodeParam对象转化成NodeDTO对象的方法(toDTO和toDto),只是名字不同,但是这样一来toDTOList方法就不知道使用哪一个了,到底是toDTO还是toDto呢?
所以只要将toDTO或者toDto随便删除一个就行了
toDTOList内部源码:



