在Java中填充通用数组

时间:2018-11-17 20:09:32

标签: java generics generic-programming

我正在尝试填充泛型类型的数组,但是在我在这里使用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;
  }

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

任何帮助或指导将不胜感激。

2 个答案:

答案 0 :(得分:1)

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

如果期望一个数组包含单个元素,则应将其初始化为大小为1。

答案 1 :(得分:0)

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