嗨我有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。但它也清除了globlalArrayList 可以任何人告诉我发生了什么以及如何实现这个问题
答案 0 :(得分:3)
您不应仅使用参考副本。使用addAll()
:
globlalArrayList.addAll(TempArray);
您现在所做的只是引用两个引用中的一个对象。如果你进行操作,那么它就会在第二个上被重新检测,因为它们引用了1个(一个)对象。
P.S。 Java使用camelCase样式,因此请将您的数组命名为tempArray
。