如果像这样将map定义在for循环外面,则每个map地址是一样的,这样list在add时就会产生覆盖问题,所有的记录都是一个东西
Map<String,Object> map = new HashMap<>();
for (int i=0;i<6;i++) {
Job job = jobList.get(i);
job_name=job.getJobName();
payment = job.getPayment();
job_location=job.getJobLocation();
education=job.getEducationRequired();
map.put("job_name",job_name);
map.put("payment",payment);
map.put("job_location",job_location);
map.put("education",education);
mapList.add(map);
}
list.add()覆盖问题
最新推荐文章于 2023-09-08 14:29:31 发布
在Java编程中,当在for循环外部初始化HashMap并尝试在循环内部填充时,会导致所有添加到list的map引用相同。这将引发覆盖问题,使得最终的mapList中的所有条目都指向最后一个循环迭代的值。为避免此问题,应在每次循环内部创建新的map实例。
摘要由CSDN通过智能技术生成