指针问题

public class People {
private String name;
private String age;
public People() {
}
}

  Map<String, People> map1 = new HashMap<>();
   for (int i = 0; i < 5; i++) {
       map1.put(String.valueOf(i),new People(String.valueOf(i)));
   }
   Map<String,People> map2 = new HashMap<>(map1);
   for(int i = 0;i<5;i++){
       People people = map2.get(String.valueOf(i));
       people.setName(i+"_也改变了map1里面people的值");
   }

Map1和Map2里面的value都指向了同一个People
所以在Map2里面取出People还是修改值,还是会导致Map1里面的值改变

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容