我有一个添加到几个不同 ArrayLists 的对象。我想避免更改每个列表,所以我试图更改指针,以便所有列表都更改。但是如果我想将对象设置为空,我就无法让它工作。例如:
ArrayList<Point> list1 = new ArrayList<Point>();
ArrayList<Point> list2 = new ArrayList<Point>();
Point a = new Point(2, 3);
list1.add(a); list2.add(a);
此时,两个列表都有一个指向同一个对象的项目。值为“2, 3”。如果我改变对象的值。然后两个列表都发生了变化:
a.set(5,5);
现在两个列表都有一个值为“5, 5”的项目。但是,如果我尝试将值设置为 null。
a = null;
现在a
设置为null,但两个列表的对象仍然是“5, 5”而不是我想要的null。我什至尝试向Point
该类添加一个方法以将其设置为 null。但我也无法让它发挥作用。我可以做些什么来通过仅更改指针来删除所有列表上的对象?