我有 ClassA 和 ClassB,我想將其轉換為 ClassC,但如果我想使用 Spring 轉換器:org.springframework.core.convert.converterInterface Converter<S,T>Type Parameters:S - the source typeT - the target type我應該創建另一個 classD,比如ClassD classD { ClassA classA; ClassB classB;}然后從D類到C類?
1 回答
茅侃侃
TA貢獻1842條經驗 獲得超22個贊
正如 Spring 的文檔Converter所說:
轉換器將類型的源對象轉換
S為類型的目標T
S源類型也是如此,T目標類型也是如此。
因此,如果您想轉換ClassA為ClassB您將創建Converter<ClassA, ClassB>實現。您不能Converter同時使用兩種類型將其轉換為單一類型。例如,您必須創建兩個轉換器才能按此順序進行轉換ClassA -> ClassB -> ClassC。
ClassA或者為and創建一些包裝類型ClassB:
public class Wrapper {
? ? private ClassA a;
? ? private ClassB b;
}
然后創建一個 ConverterConverter<Wrapper, ClassD>實現:
Converter<Wrapper, ClassC> converter = wrapper -> {
? ? ? ? //access wrapper
? ? ? ? wrapper.getA();
? ? ? ? wrapper.getB();
? ? ? ? return new ClassC();
};
添加回答
舉報
0/150
提交
取消
