gpt4 book ai didi

java - 要求在 Java 构建器中填充字段的某些模式

转载 作者:行者123 更新时间:2023-12-01 19:01:37 25 4
gpt4 key购买 nike

class Builder {
private Foo myItem = new Foo();

public Builder field1(Bar val) {
myItem.setField1(val);
return this;
}

public Builder field2(Baz val) {
myItem.setField2(val);
return this;
}

public Builder field3(Gaz val) {
myItem.setField3(val);
return this;
}

public Foo build() {
return myItem;
}

}

对于上面的类,我想要所有字段,或者将 field1 和 field 2 一起填充,或者仅填充 field3。

public Foo build() throws Exception {
if ((myItem.getField1() == null || myItem.getField2() == null) && myItem.getField3() == null) {
throw new Exception();
}
return myItem;
}

虽然以一种非常冗长且难以理解的方式实现了目标。实现相同目标的更好方法是什么:强制字段模式?

最佳答案

答案很简单。您应该将字段 1,2 和 3 分成两个单独的类。

当您说该对象具有 field1 和 field2 或 field3 时,您就有两个不同的类。

关于java - 要求在 Java 构建器中填充字段的某些模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59629800/

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