为了账号安全,请及时绑定邮箱和手机立即绑定

Mapstruct java.util.Stack 转换

Mapstruct java.util.Stack 转换

白板的微信 2023-08-09 15:07:18
所以,我有三个 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 来完成它吗?
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

因此,经过几次尝试,我现在找到的最优雅的方法是下一个:


@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,而是 Long 没有任何字段、setter 等。而且我未能找到一种方法来在“目标”中放置对构造函数的引用。


查看完整回答
反对 回复 2023-08-09
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信