Mapstruct java.util.Stack转换
所以,我有三个Java类Mapstruct java.util.Stack转换,java,stack,mapstruct,Java,Stack,Mapstruct,所以,我有三个Java类 class A { private Long id; //getter, setter, etc } class B { private Stack<A> myField; //getter, setter, etc } class C { private Stack<Long> myField; } A类{ 私人长id; //接球手、接球手等 } B类{ 私有堆栈myField; //接球手、接球手等 }
class A {
private Long id;
//getter, setter, etc
}
class B {
private Stack<A> myField;
//getter, setter, etc
}
class C {
private Stack<Long> myField;
}
A类{
私人长id;
//接球手、接球手等
}
B类{
私有堆栈myField;
//接球手、接球手等
}
C类{
私有堆栈myField;
}
我想把B类的对象转换成C类的对象,两个堆栈的顺序应该相同
我知道如何通过附加的结构、循环等手动执行此操作。但是否有任何优雅的方法可以通过Mapstruct执行此操作?因此,经过几次尝试,目前我发现的最优雅的方法是下一种:
@Mapper
public interface CMapper {
C BtoC(B b);
default Long myFieldConverter(A myField) {
return myField.getId();
}
}
我手动调用getId(),但至少我没有遍历集合
我试着做一些注释,比如
@Mapping(target = "", source = "id")
Long myFieldConverter(A myField);
但还没有找到要放入目标中的内容,因为字段不是任何bean,但长时间没有任何字段、setter等,我也没有找到在“target”中引用构造函数的方法