Можно ли инициализировать массив Java другой коллекцией?

1

Я работаю над классом Java, который содержит это поле:

private com.enel.xmlns.EDILM.SalReport.SalDettaglio[] sal;

это массив. Является ли это possibile initizialize этого сала объекта с какой - либо другой коллекцией (список) типом в некотором роде?

Tnx

Теги:
arrays
list
collections

3 ответа

2

Вы можете заметить, если вы быстро посмотрите на javadoc Collecion, что коллекции должны реализовать метод toArray.

Поэтому да, вы можете в любое время инициализировать переменную Array, используя массив, возвращаемый методом toArray вашей коллекции. (но вам нужно обратить внимание на то, что общий тип вашей коллекции соответствует типу вашей переменной массива и, возможно, придется использовать то, что возвращают методы toArray, чтобы соответствовать типу вашей переменной).

Таким образом, вы должны написать что-то вроде:

YourType[] sal= yourCollection.toArray(new YourType[0]);
  • 0
    Первый не сработает. Второй будет, однако.
  • 0
    спасибо я редактирую решение (кажется, я немного заржавел)
0

Если у вас есть List вы можете использовать T [] toArray (T [] a)

0

Будет ли это работать для вас?

sal = myCollection.toArray(new com.enel.xmlns.EDILM.SalReport.SalDettaglio[myCollection.size()])

Ещё вопросы

Сообщество Overcoder
Наверх
Меню