所以,我有三個 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 等。而且我未能找到一種方法來在“目標”中放置對構造函數的引用。
添加回答
舉報
0/150
提交
取消