首页 > 解决方案 > 将项目从类变量添加到列表

问题描述

我创建了一个名为 Test 的类(名称和姓氏变量)加上 getter 和 setter,然后我创建了一个带有 Test 类型的 List。我使用 set 方法设置变量值,然后尝试将klass.setName(nminput)和添加klass.setSurname(surnminput);到列表中,但即使使用循环也只添加一个值。无论如何要从类变量中将项目添加到列表中吗?

Scanner input = new Scanner(System.in);
Test klass = new Test("name", "surname");
List < Test > list = new ArrayList < > ();

for (int i = 0; i < 3; i++) {
    String nminput = input.next();
    String surnminput = input.next();
    klass.setName(nminput);
    klass.setSurname(surnminput);
    list.add(klass);
    i++;
}
System.out.println(list);

标签: javajava-8

解决方案


您不想一次又一次地更改同一个 Test 对象(称为 Klass)的值,​​而是希望在循环中创建多个 Test 对象。

Scanner input = new Scanner(System.in);
List<Test> list = new ArrayList<>();
for (int i = 0; i < 3; i++) {
    String nminput = input.next();
    String surnminput = input.next();
    Test klass = new Test(nminput, surnminput);
    list.add(klass);
    i++;
}
    System.out.println(list);

推荐阅读