gpt4 book ai didi

java - java中的空检查重构

转载 作者:行者123 更新时间:2023-11-29 06:28:35 24 4
gpt4 key购买 nike

我们有两个类:

class Foo {
private String a;
private String b;
private String c;
...
getter...setter...
}

class Boo {
private String a;
private String b;
private String c;
...
getter...setter...
}

假设 Foo 和 Bar 不同,但某些字段相同。

这是我想做的代码:

  private void map(foo f) {
Boo b = new Boo();
if (f.getA() != null) b.setA(f.getA());
if (f.getB() != null) b.setB(f.getB());
if (f.getC() != null) b.setC(f.getC());
....
}

3个字段没什么大不了的。

但是如果有很多字段,那么 if() 也会有很多。

我想知道在 Java 或 C++ 中是否有一种很好的自动和编程好的方法。

最佳答案

或者您可以使用映射框架,例如。推土机:http://dozer.sourceforge.net/

你可以这样写代码:

Mapper mapper = new DozerBeanMapper();
Boo destObject = new Boo();
mapper.map(foo, destObject);

... 它会将您的属性从一个对象复制到另一个对象(使用反射)。

通过额外的配置,您将能够添加转换逻辑或重要的映射规则(获取 Foo#prop1 的值并将其放入 Boo#prop2)或对象图的深拷贝。还有更多。

关于java - java中的空检查重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44692940/

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