我有 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條經驗 獲得超21個贊
正如 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
提交
取消