我有一个“Person”类型实体的数组列表,我想从数组列表中获取“Person”类型的对象的单独实例。但是,当我执行相同操作并更新实体的属性时,数组列表中的实体也会更新。因此,在内存中始终保持对对象的相同引用。我想创建一个单独的内存引用。在下面的代码中,位置 0 和位置 1 处的 personEntity 都获得了卡类型“add”。
Person personEntity=personArrayList.get(0);
personEntity.setCardType("add");
personArrayList.add(1,personEntity);
最佳答案
为 Person 编写一个复制构造函数并执行以下操作:
Person personEntity = new Person(personArrayList.get(0));
您的复制构造函数将取决于您的 Person 类的结构。复制构造函数将使用 personArrayList.get(0) 中的属性值来初始化 Person 的新实例。
关于java - 如何从同一实体的数组列表创建不同的实体实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56753714/