Добавление объекта в массив объектов [закрыт]

181
09 марта 2019, 21:00

у меня есть объект и мне нужно добавить его в массив объектов

// Считываю с клавиатуры mesta, station, vidprav, pribyt, freeMesta, day, numberReys
Cassa ca = new Cassa(mesta, station, vidprav, pribyt, freeMesta, day, numberReys); // мой объект
Cassa[] c = new Cassa[]{ca}; // массив объектов

Я считал данные и они теперь у меня в объекте ca, дальше мне нужно внести его в массив объектов и нужно еще один объект создать и внести туда, и так сколько угодно раз

Answer 1

В Java массив динамически не расширяется. Вы аллоцируете какой-то участок памяти под заполнение и, собственно, заполняете ). К примеру:

Object[] array = new Object[12];

Object[] array = new Object[]{ca}; - в этом конкретно случае вы создали массив длинной 1.

Если вы хотите дописать следующий элемент Вам стоит либо создать массив длинной текущей + 1 и копировать ссылки из источника либо же обратиться к реализациям интерфейса java.util.Collection Вам, скорее всего, подойдет java.util.ArrayList - это как раз и есть готовая реализация динамически расширяемого (через перезапись) массива.

Answer 2

Как отметил @PeterSlusar необходимо использовать ArrayList:

List<Cassa> cassaList = new ArrayList<>(); 
cassaList.add(ca1); 
cassaList.add(ca2);

Вывести можно так:

cassaList.forEach(System.out::println);

При условии, что переопределен метод toString() в Cassa

READ ALSO
Классы в Андроид

Классы в Андроид

Создал свой классЕсли запустить приложение с таким кодом, то все ломается

158
Как проверить, &ldquo;Radiobutton&rdquo; на &ldquo;checked == true &rdquo;?

Как проверить, “Radiobutton” на “checked == true ”?

Я проверил использование этих функций и не смог проверить его

178
взаимодействие через модальное окно

взаимодействие через модальное окно

Подскажите пожалуйста, есть приложение (https://testingshipnext

147
Почему не работает super

Почему не работает super

Ругается на super в наследуемом классе , в чём проблема ??

144