Mapstruct java.util.Stack 转换

所以,我有三个 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 来完成它吗?


白板的微信
浏览 94回答 1
1回答

慕沐林林

因此,经过几次尝试,我现在找到的最优雅的方法是下一个:@Mapperpublic interface CMapper {&nbsp; &nbsp; C BtoC(B b);&nbsp; &nbsp; default Long myFieldConverter(A myField) {&nbsp; &nbsp; &nbsp; &nbsp; return myField.getId();&nbsp; &nbsp; }}我手动调用 getId() 但至少我没有迭代集合。我尝试用注释做一些事情,比如@Mapping(target = "", source = "id")Long myFieldConverter(A myField);但还没有找到要放入目标中的内容,因为字段不是任何 bean,而是 Long 没有任何字段、setter 等。而且我未能找到一种方法来在“目标”中放置对构造函数的引用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java