Вы немного усложнили свои коды.Для игры с ArrayList
вы можете объявить ArrayList в методе main и там сами создавать объекты класса People и добавлять объекты people в ArrayList.Как вы создали эти три экземпляра класса People в классе People, создание объекта People приведет к циклической ссылке, ведущей к StackOverflowError
.
. Вы должны изменить свой код на что-то вроде этого, а такжепечатая значимую информацию для объекта People, вам необходимо переопределить метод toString из класса Object, в противном случае он просто распечатает адрес объекта, который может показаться вам мусором.
public class People {
int age;
String name;
public People(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return String.format("age: %s, name: %s", age, name);
}
public static void main(String[] args) {
ArrayList<People> people = new ArrayList<People>();
People person1 = new People("Bob", 41);
People person2 = new People("Arthur", 32);
People person3 = new People("Tom", 18);
people.add(person1);
people.add(person2);
people.add(person3);
people.forEach(System.out::println);
}
}
Попробуйте это и дайте мне знать, если вы сталкиваетесь с какой-либопроблемы.