为了账号安全,请及时绑定邮箱和手机立即绑定

Spring接口转换器

Spring接口转换器

至尊宝的传说 2023-07-19 10:39:50
我有 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目标类型也是如此。

因此,如果您想转换ClassAClassB您将创建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();

};


查看完整回答
反对 回复 2023-07-19
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信