Заполнение универсального массива в Java - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь заполнить массив универсальных типов, но он всегда пуст после 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), показывает значение, но при возврате массива пуст.

Буду признателен за любую помощь или руководство.

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018
CartField<T>[] cartFields = new CartField[1];  // size should be not empty
0 голосов
/ 17 ноября 2018

Arrays.fill заполнит каждый элемент массива.Ваш массив имеет нулевой размер, и поэтому нет никаких элементов массива для заполнения.

Если вы ожидаете массив с одним элементом, вы должны вместо этого инициализировать его размером один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...