我有一个实现Parcelable的对象,我正在尝试创建该对象的数组。但是,每当我更改数组中的元素之一时,数组中的所有其他元素也会更改为相同的值。
当我创建这样的数组然后设置第一个元素时,
MyClass[] array = new myClass[5];
array[0] = new MyClass();
数组中的所有元素将采用array [0]的值。这是Parcelable对象的属性,我做错了吗?我应该使用一种替代方法吗?
答案 0 :(得分:0)
这不是不可修复的问题,您要在所有数组索引处分配相同的对象,不创建新的MyClass()对象。
如果要独立更改每个数组对象, 您必须通过调用构造函数来创建新对象,或者克隆第一个对象来创建新对象 。 / p>
示例:该示例可用作参考。
MyClass[] array = new myClass[5];
array[0] = new MyClass();
array[1] = new MyClass();
array[2] = new MyClass();
array[3] = new MyClass();
array[4] = new MyClass();