Страницы

Поиск по вопросам

среда, 1 января 2020 г.

Вывести обьекты с ArrayList

#java #arraylist


ArrayList human = new ArrayList<>();
for (int i = 0; i < 100; i++)
{
    human.add(new Human(HumanName, lastName, middle_name, date, id));
}
human.forEach(System.out::println);


место полей мне выводит 100 хешкод объектов. Как сделать чтобы поля выводились объекта?
    


Ответы

Ответ 1



Нужно переопределить метод toString() в классе Human, в нем вернуть строку, которую вы ходите получить. IntelliJ IDEA умеет генерировать toString() автоматически, для этого нужно нажать Alt + Insert -> toString() и выбрать нужные поля.

Ответ 2



@katso правильно отметил что нужно для объекта переопределить метод toString(). Но удобнее использовать не автогенерацию кода intelij, а библиотеку lombok. В ней есть много аннотаций для генерации шаблоного кода(геттеры, сеттеры, конструкторы, toString, equalsAndHashCode и т.д.). Например генерация метода toString. Плюс ломбока в том, что дополнительный код он создает на этапе компиляции, то есть при добавлении новых полей в классах, ничего не нужно дополнительно приписывать.

Комментариев нет:

Отправить комментарий