Mapstruct java.util.Stack 转换

Mapstruct java.util.Stack converting

所以,我有三个 Java classes.

class A {
   private Long id; 
   //getter, setter, etc
}

class B {
   private Stack<A> myField;
   //getter, setter, etc
}

class C {
   private Stack<Long> myField;
}

我想将 class B 的对象转换为 class 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 等的 Long。而且我没能找到在 [=20 中放置对构造函数的引用的方法=].