我有两个arraylists。
List<MyObject> firstList (Size=5)
List<MyObject> secondList = firstList;
当我使用此命令时
secondList.remove(0);
firstList中0位置的对象也被删除。 我在这里做错了什么?
答案 0 :(得分:5)
只更改第二行,它将解决您的问题。
List<MyObject> firstList (Size=5)
List<MyObject> secondList = new ArrayList<>(firstList);
secondList.remove(0);
问题是由于你的行列表secondList = firstList;
它不会创建另一个对象,而不是列表指向单个对象。
答案 1 :(得分:0)
问题在于您的行BigInteger
这不会创建另一个列表,它只是引用您创建的第一个列表。您需要实例化一个单独的列表。
答案 2 :(得分:0)
正确,因为**java.lang.SecurityException**
具有secondList
的引用,因此如果您删除元素表单firstList
,则与从secondList
删除相同
使用以下代码:
firstList