簡體   English   中英

Mapstruct java.util.Stack 轉換

[英]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;
}

我想將 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,而是 Long 沒有任何字段、setter 等。而且我沒有找到一種方法在“目標”中放置對構造函數的引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM