所以,我有这个用例:
ArrayList<String> test1 = new ArrayList<String>();
test1.add("string1");
test1.add("string2");
ArrayList<String> test2 = test1;
test2.remove(0);
System.out.println(test1.get(0)); // Expect to see "string1"
第一个 ArrayList test1
有两个 String 元素。然后我创建一个新的(?)ArrayList,test2
,它与test1
相同。当我从 test2
中删除第一个元素(即“string1”),然后尝试显示 test1
中的第一个元素时,它返回“string2”...也在那里第一个元素“string1”以某种方式被删除。
这怎么可能?
最佳答案
Then I make a new (?) ArrayList, test2, which is the same as test1.
不,你没有。您刚刚将 arraylist 2 指向 arraylist 1。
您可以使用列表的浅构造函数或使用 addAll 方法。
List<String> test2 = new ArrayList<String>();
test2.addAll(test1);
关于java - ArrayList从另一个ArrayList中删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44164288/