Проблема ArrayList при удалении - PullRequest
3 голосов
/ 18 мая 2011

привет, у меня проблема с объектами 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. но это также очистка globlalArrayList Может ли кто-нибудь сказать мне, что происходит и как я могу решить эту проблему

1 Ответ

3 голосов
/ 18 мая 2011

Вы не должны использовать только справочную копию.Используйте addAll():

globlalArrayList.addAll(TempArray);

Теперь вы просто ссылаетесь на один объект из двух ссылок.Если вы выполняете манипулирование одним, все это отражается на втором, поскольку они ссылаются на 1 (один) объект.

PS В Java используется стиль camelCase, поэтому, пожалуйста, назовите ваш массив как tempArray.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...