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

时间:2019-12-29 03:25:53

标签: android parcelable

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

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

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

数组中的所有元素将采用array [0]的值。这是Parcelable对象的属性,我做错了吗?我应该使用一种替代方法吗?

1 个答案:

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