mapstruct 泛型
时间: 2023-11-01 17:58:41 浏览: 448
如何使用Java泛型映射不同的值类型
在 MapStruct 中使用泛型可以通过使用注解中的`targetType`属性来实现。例如,我们可以使用`@Mapping(targetType = List.class)`来指定目标类型为 List。
这里是一个示例,展示了如何在 MapStruct 中使用泛型:
```java
@Mapper
public interface MyMapper {
<T> List<T> mapToList(List<String> sourceList, @MappingTarget List<T> targetList);
}
// 使用
List<String> sourceList = Arrays.asList("1", "2", "3");
List<Integer> targetList = new ArrayList<>();
myMapper.mapToList(sourceList, targetList);
```
在上面的示例中,我们定义了一个泛型方法`mapToList`,它接受一个源列表和一个目标列表,并将源列表中的元素映射到目标列表中。通过使用`@MappingTarget`注解,我们可以直接修改目标列表而不需要返回新的列表。
阅读全文