java - 如何将arraylist复制到另一个arraylist
问题描述
使用迭代器,我想将数组添加到另一个数组列表中。但是在第一个列表的元素被添加到第二个列表之后,前一个列表的元素被粉碎了。我该如何防止这种情况?
GelirList firsList = new GelirList();
List(GelirList) finalList = new ArrayList<>;
Iterator<DvzGelir> iterator = input.getGelirlist().iterator();
while(iterator.hasNext()){
DvzGelir exList = (DvzGelir) iterator.next()
firstList.setName(exList.getName());
firstList.setNumber(exList.getNumber());
finalList.add(firstList);
}
我期望输出:{eren,123}, {ezel,234},但实际输出是 {eren,123}, {eren,123}
解决方案
因为GelirList
是引用类型,所以更新相同的数据。用这个:
while(iterator.hasNext()){
GelirList firstList = new GelirList();
//then the initialization
}
推荐阅读
- java - 如何解决 JAXB 和 Java POJO 的问题?
- asp.net-core - 为什么不能访问静态文件?
- url - IIS web.config:将 URL 文件重写为子域
- firebase - 如何将从 Firebase 读取的日期显示为 ion-datetime 元素
- c# - NetTopologySuite.Core 1.15.3 和距离单位
- json - 以有效的方式替换整个 JSON python 中的“key”名称以获取批量数据
- exception - Dart 中的 Java 'throws' 关键字
- excel - VBA:Worksheet_Change - Target.Address 与使用相交
- html - 当其他div有更多数据时,如何使4个div的文本高度相等
- swiftui - 无法推断通用参数“标签”SWIFTUI