如何创建可包裹对象数组?



我有一个实现Parcelable的对象,我正在尝试创建该对象的数组。但是,每当我更改数组中的一个元素时,数组中的所有其他元素也会更改为相同的值。

当我创建一个这样的数组然后设置第一个元素时,

MyClass[] array = new myClass[5];
array[0] = new MyClass();

数组中的所有元素都将采用 array[0] 的值。这是可包裹对象的属性,我只是做错了事情吗?有没有我应该使用的方法?

这不是可分包的问题,您在所有数组索引中分配相同的对象,而不是创建新的 MyClass(( 对象

如果要独立更改每个数组对象,则必须通过调用构造函数或克隆第一个对象来创建新对象

示例:此示例可用作参考。

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();

最新更新