开发者社区 问答 正文

java HashSet 赋值相关

ArrayList c1 = new ArrayList();
    c1.add("a");
    c1.add("b");
    c1.add("c");

    ArrayList c2 = new ArrayList();
    c2.add("a");
    c2.add("b");
    c2.add("d");

    ArrayList c3 =new ArrayList();
    c3 = c1;
    c3.retainAll(c2);
    System.out.println(c1);
输出结果:[a, b]
问:s1值为什么变了

展开
收起
蛮大人123 2016-06-07 14:57:00 1974 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    c3=c1,先将c3指向了c1,然后这句话 c3.retainAll(c2);又改变了c1地址中的内容了。
    只要了解对象引用指向的是同一个地址就容易理解了。

    2019-07-17 19:30:12
    赞同 展开评论
问答分类:
问答标签:
问答地址: