这是代码:
// Default constructor
public Bestellung() {
this(null, null, null);
}
// Initial constructor
public Bestellung(LocalDateTime zeitstempelBestellung, LocalDateTime zeitstempelAuslieferung,
PizzaVO[] warenkorb, int index) {
super();
this.zeitstempelBestellung = zeitstempelBestellung;
this.zeitstempelAuslieferung = zeitstempelAuslieferung;
this.warenkorb = warenkorb;
this.index = index;
}
我想完成默认构造函数。因此,我必须将两个localDateTimes,一个空数组和一个int传递给构造函数。如何传递空数组?
答案 0 :(得分:4)
如何传递空数组?
new PizzaVO[] { }
BTW,这是不是默认构造函数:
public Bestellung() {
this(null, null, null);
}
它是一个无参数的构造函数。
答案 1 :(得分:1)
像这样:
public Bestellung() {
this(null, null, new PizzaVO[]{}, 1);
}
答案 2 :(得分:1)
创建空数组与创建0大小的常规数组完全相同:new PizzaVO[0]
。
所以,你的构造函数看起来像:
public Bestellung() {
this(null, null, new PizzaVO[0], 0);
}
(你还没有提到你想如何初始化LocalDataTime
个对象,所以我通过了null
)
答案 3 :(得分:0)
嗯,你使用" null"我们所有其他元素;这将创建一个很可能无用的Bestellung对象;因为它很可能在第一次使用NullPointerException时失败(比如调用它的一个方法)。
那么是什么阻止你使用" null"对于阵列也是如此。
好的,严肃的回答是你可以使用
创建数组new PizzaVO[] {}
例如。
真正认真的答案仍然是:通常,大多数时候都没有任何意义。所以你应该不以这种方式实现你的默认构造函数。
换句话说:如果您的对象无法在没有真实存在参数的情况下创建......那么就不要提供允许用户实际执行此操作的构造函数。
答案 4 :(得分:0)
只需:
this.warenkorb = new PizzaV0[10];
这将使用10个空值初始化一个空数组。
答案 5 :(得分:0)
我不确定我是否完全明白你想要做什么或想要实现什么,也许你可以更清楚一点?
你可以像现在这样做并传递null
(尽管这不是一个空数组)或者你可以传递一个实际的空数组new PizzaVO[0]
(这是一个{{1 s没有任何元素的空间)。
PizzaVO
或
public Bestellung() {
this(null, null, null, 0);
}
您正在寻找的是其中之一吗?还是我完全误解了什么?
答案 6 :(得分:-1)
您可以像这样传递一个空数组参数
new PizzaVO[0]