我有 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
提交
取消