嗨,我的 Arraylist 对象有问题,这是我的代码
ArrayList<String> globlalArrayList = new ArrayList<String>(); //declared in some other class
ArrayList<String> TempArray = getsomeTempObjects()//method
globlalArrayList = TempArray;
TempArray.clear(); //Here the Problem
在上面的代码中我想清除所有的 TempArray obj。但它也在清除 globalArrayList 任何人都可以告诉我发生了什么以及我该如何解决这个问题
最佳答案
您不应该只使用引用副本。使用 addAll()
:
globlalArrayList.addAll(TempArray);
您现在所做的只是从两个引用中引用一个对象。如果您将操作设为一,则它全部反射(reflect)在第二个上,因为它们引用 1(一个)对象。
附言Java 使用驼峰命名法,所以请将您的数组命名为 tempArray
。
关于java - ArrayList 删除时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6040879/