Mapstruct java.util.Stack converting



所以我有三个Java类。

class A {
private Long id; 
//getter, setter, etc
}
class B {
private Stack<A> myField;
//getter, setter, etc
}
class C {
private Stack<Long> 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);

但是还没有找到要放入目标的内容,因为字段不是任何豆子,而是没有任何字段,二传手等的Long。而且我未能找到一种方法在"目标"中引用构造函数。

最新更新