我一直想在Java中制作一个对象,其中包含一个 ArrayList
但正如我所期望的那样,当我实现第二个对象时,它没有创建一个新的 ArrayList
,而是将现有的日期添加到 ArrayList
当构建所述类型的第一个对象时产生的。
这里是构造函数。
public class OneTest {
private ArrayList<String> list;
public OneTest(ArrayList<String> list) {
this.list = list;
}
}
主方法建立对象并添加数据。
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<>();
array.add("Ben");
array.add("Bob");
OneTest test = new OneTest(array);
ArrayList<String> array1 = new ArrayList<>();
array.add("111");
array.add("222");
OneTest test1 = new OneTest(array1);
ArrayList<String> testRecovery = test.getList();
ArrayList<String> testRecovery1 = test1.getList();
System.out.println(testRecovery.toString());
System.out.println(testRecovery1.toString());
}
还有输出。
[]
[Ben, Bob, 111, 222]
我正在寻找一种方法,当我调用toString()方法时,它在一个单独的ArrayList中为每个被构建的对象提供数字。
希望的输出。
[Ben, Bob]
[111, 222]
的行中添加现有的日期。
ArrayList<String> array1 = new ArrayList<>();
array.add("111");
array.add("222");
您正在添加 111
和 222
到 array
不 array1
意思是 array1
将是空的。
如果你把它更新为
ArrayList<String> array1 = new ArrayList<>();
array1.add("111");
array1.add("222");
当你以后参考这些列表时,它们应该是你所期望的。
你在下面的代码中犯了一个愚蠢的错误。
array.add("111");
array.add("222");
即使在创建第二个 arraylist
与 array1
的值,你是在之前的 arraylist
只是 array
.
你需要把它改成:
array1.add("111");
array1.add("222");
发帖时犯了一个相当愚蠢的错误,把所有的都加到array中,没有加到array1中。