java - 如何从同一实体的数组列表创建不同的实体实例

标签 java

我有一个“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/

相关文章:

java - java.util.regex.Matcher 中的 groupCount() 总是返回 0

java - 按字母顺序连接有关字段名称的对象值

java - 如何将相似的方法合并为一种方法

java - 如何使用 Jsoup 登录我的大学网站?

java - 应用程序包 Mac OS X Leopard

java - Android SurfaceView BitmapFactory 内存不足异常

java - RepositoryItemReader : java. util.ArrayList 无法转换为 org.springframework.data.domain.Page

java - 屏幕关闭时继续播放音乐

java - 使用 MinGW 编译器和 nar-maven-plugin 避免依赖机器的 POM

java - TestNG 对所有测试套件运行一次方法