gpt4 book ai didi

java - 我怎样才能创建一个包含许多相同对象的构造函数,但如果其中一个对象为空则忽略它?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:07:01 24 4
gpt4 key购买 nike

我想为包含四个填充物的包装创建一个构造函数,但是如果一个填充物是空的(例如只使用 2 或 3 个而不是 4 个)执行代码没有任何问题。

我目前只能包含一个填充此代码的内容。

Wrap one=new Wrap( new Bread("Italian"), new Filling("Ham"),new Topping("Cheddar"));

最佳答案

使用当前的构造函数,您只能有零个 (null) 或一个面包、馅料和浇头。

您需要重载您的构造函数以允许更多输入选项。

如果你想有不止一种馅料和最多一种浇头,添加这个构造函数

Wrap(Bread b, List<Filling> fillings, Topping topping)

如果你想要不止一种馅料和浇头,那么这个

Wrap(Bread b, List<Filling> fillings, List<Topping> toppings)

或者只考虑最后一种情况,并使用 Collections.singletonList() 来获取一个项目的列表。


您可以使用 this() 组合它们。

总结一下,这是一个例子

Bread bread;
List<Filling> fillings;
List<Topping> toppings;

public Wrap(Bread b, List<Filling> fillings, List<Topping> toppings) {
// ...
}

public Wrap(Bread b, Filling f, Topping t) {
this(b, Collections.singletonList(f), Collections.singletonList(t));
}

public Wrap(Bread b, List<Topping> toppings) {
// Is this a pizza?
this(b, null, toppings);
}

关于java - 我怎样才能创建一个包含许多相同对象的构造函数,但如果其中一个对象为空则忽略它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53574896/

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