用java填充泛型数组



我试图填充一个泛型类型的数组,但在我在这里使用的array.fill之后它总是空的。我做错了什么?

private <T> CartField<T>[] getPopulatedCart(T field) {
CartField<T> cart = new CartField<>(field);
CartField<T>[] cartFields = new CartField[0];
Arrays.fill(cartFields, cart);
return cartFields;
}

这总是返回一个空数组,我可以在调试cart字段时验证它是否生成,即使在与Arrays.fill(cartFields,cart(在同一行检查cart时,它也会显示值,但在返回时数组是空的。

如有任何帮助或指导,我们将不胜感激。

Arrays.fill将填充数组的每个元素。您的数组大小为零,因此没有要填充的数组元素。

如果您期望一个具有单个元素的数组,则应该将其初始化为大小为1。

CartField<T>[] cartFields = new CartField[1];  // size should be not empty

最新更新