gpt4 book ai didi

java - 将变量从一个 POJO 复制到另一个

转载 作者:行者123 更新时间:2023-12-05 04:01:01 24 4
gpt4 key购买 nike

我有一个 POJO 'A',它有 30 多个变量。我有另一个 POJO“B”,大部分变量与“A”中的相同。

例如,A 有一个变量 var1 作为 LocalDate 列表,B 有一个同名 var1 但作为 Long 列表(日期的长值)的属性。现在从 REST 服务中,我得到了“B”中的响应,而我的老客户仍在使用“A”。我想将响应从 B 转换为 A。由于我的所有其他值都相同,除了变量 var1,将所有其他属性从 var2 复制到 var1 的最有效方法是什么?有没有提供这种方法的库?

最佳答案

最好的方法是编写一个映射器方法,将 A 的对象映射到 B 的对象。这是最安全和推荐的方法。

如果您可以弄脏您的代码..您可以序列化 objA,然后将其反序列化为 objB。确保所有不可为 null 的字段在两个对象中都可用,并准备好捕获解析异常。事实上,两个类中的字段名称也应该相同,除非映射到不同的名称(别名)(例如使用某种 Jackson 注释)。如果字段的名称不完全相同,它们将被删除。

B objB = Json.deserialize(JSON.serialize(objA), new TypeReference<B>(){});

关于java - 将变量从一个 POJO 复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55701076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com