#java #arraylist
ArrayListhuman = 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. Плюс ломбока в том, что дополнительный код он создает на этапе компиляции, то есть при добавлении новых полей в классах, ничего не нужно дополнительно приписывать.
Комментариев нет:
Отправить комментарий