Я хочу создать массив, длина которого исправлена , но элементы ссылаются на объекты Iterable
. Точно так же, как создание массива с элементами указателя в C, где указатели могут указывать на списки любой длины.Как создать массив с элементами Iterable в Java?
Я попытался это:
// declaration
private Iterable<String>[] a;
...
// in construtor, n is known length.
a = (Iterable<String>[]) new Object[n];
компилятор дает мне предупреждение. И когда я выполняю программу. исключается нижеследующее исключение.
Exception in thread "main" java.lang.ClassCastException:
[Ljava.lang.Object; cannot be cast to [Ljava.lang.Iterable;
Я искал в Интернете. Но все результаты - динамический массив, но не массив фиксированной длины с динамическими элементами. Большое спасибо, если вы можете помочь!
UPDATE
Попробую поставить его проще. Я хочу как массив ссылок, и ссылка может указывать на некоторый объект Iterable.
Вы прочитали, что он говорит? Вы не можете передать объект в Iterable. – hichris123
Почему вы не используете ArrayList? Это требует меньших усилий, но более эффективно. –
, если вы хотите гарантировать, что размер всегда постоянный и по-прежнему использует итерируемый, вы можете сначала создать нормальный массив и преобразовать его в список, чтобы использовать iterable над ним (e.g Массивы (a) .asList), надеясь, что вы знаете, что вы делаете – bjhaid