Когда вы это делаете,
currentBundle = fullListForBundle.get(i);
И currentBundle
, и fullListForBundle.get(i)
ссылаются на один и тот же объект в куче.Вы должны увидеть одинаковые результаты с обоими.Если вы просто хотите, чтобы currentBundle
попытался внести изменения,
currentBundle = fullListForBundle.get(i).clone();
EDIT: Object.clone()
метод имеет доступ protected
, что означает, что он видим для подклассов и классов в одном пакете.
Хорошо иметь конструктор копирования для ручного копирования объекта.
/**
Deep copy all the information from other to this
*/
public Matcher(Matcher other) {
this.id = other.id;
}
Чтение Why a copy constructor by Josh Bloch ?