gpt4 book ai didi

java - 如何在 java 中合并两个大型 POJO?

转载 作者:行者123 更新时间:2023-12-04 16:31:22 25 4
gpt4 key购买 nike

如何在 Java 中合并 2 个相同的大 POJO(~40 个字段)?

例子

Satellite A: [name = ISS, period = 0.9, inclination = 0.8, launch_date=2016-01-04, launch_vehicle=null, has_propulsion=null]

Satellite B: [name = International Space station, period= 0.91, inclination =0.802, launch_vehicle=BOAT, has_propulsion=false]

进入

Satellite C: [name = ISS, period = 0.9, inclination = 0.8, launch_date=2016-01-04, launch_vehicle=BOAT, has_propulsion=false]

最佳答案

好吧,使用反射它会是这样的:

public static Satellite merge(Satellite s1, Satellite s2) throws Exception {

Satellite merged = new Satellite();

for (Field field : Satellite.class.getDeclaredFields()) {
field.set(merged, field.get(s1) != null? field.get(s1) : field.get(s2));
}

return merged;
}

但我认为这绝对是一种糟糕(危险且缓慢)的方法。实际上,我会选择 m0skit0 解决方案,但首先请分解您的类(class)。你不应该有一个包含 ~40 个字段的类......

关于java - 如何在 java 中合并两个大型 POJO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34593857/

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