Есть ArrayList
:
ArrayList<Double> ald = new ArrayList();
Нужно создать массив такого типа:
Double[] arr_ald = new Double[10];
Но вместо Double
должен быть тип как у ald
(ArrayList<Double>
), чтобы можно было сделать перебор массива:
arr_ald[i]
и брать элементы:
ald.get(j)
Создать массив из объектов параметризованного типа (коими являются ArrayList<Double>
) нельзя. Об этом говорится в документации.
Так что тут либо использовать raw type ArrayList
(со всеми появляющимися при этом проблемами):
ArrayList<Double> list1 = new ArrayList<>(Arrays.asList(1.0, 2.0));
ArrayList<Double> list2 = new ArrayList<>(Arrays.asList(3.0, 4.0));
ArrayList[] lists = { list1, list2 };
for (ArrayList list : lists)
{
for (Object o : list)
{
double value = (double)o;
System.out.println(value);
}
}
Либо создавать обёртку для ArrayList<Double>
:
public class ArrayListDouble extends ArrayList<Double> { }
и использовать её:
ArrayListDouble list1 = new ArrayListDouble();
list1.addAll(Arrays.asList(1.0, 2.0));
ArrayListDouble list2 = new ArrayListDouble();
list2.addAll(Arrays.asList(3.0, 4.0));
ArrayListDouble[] lists = { list1, list2 };
for (ArrayListDouble list : lists)
{
for (double value : list)
{
System.out.println(value);
}
}
Массив списков (как и любых других параметризированных типов) создать нельзя.
Oracle Docs:
You cannot create arrays of parameterized types. For example, the following code does not compile:
List<Integer>[] arrayOfLists = new List<Integer>[2]; // compile-time error
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Привет, хочу решить систему ОДУ методом Рунге-Кутты 4 порядкаПравильно ли реализован этот метод?
Беру шаблонную строку: Добавляю ещё 3 таких строки к этой таблице: