
这里发生的事情是您在哈希图中放置了 指向 列表的 指针 ,而不是列表本身。
当您定义
List<SomeType> list;
您正在定义指向列表的指针,而不是列表本身。
当你做
map.put(somekey, list);
您只是存储 指针 的副本,而不是列表。
如果在其他地方跟随该指针并在其末尾修改该对象,则持有该指针的任何人仍将引用同一修改后的对象。
有关Java中传递值的详细信息,请参见http://javadude.com/articles/passbyvalue.htm。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)