1

如果我将映射传递给我创建的类,如果该类随后修改了映射,它会更改最初传递它的 main 方法中的映射吗?

第二个实例是否指向同一张地图?

4

4 回答 4

1

是的,调用者将看到被调用者所做的更改。

第二个实例是否指向同一张地图?

没有第二个实例(除非您明确制作地图的副本)。您所拥有的是对同一实例的两个引用。

于 2012-12-05T21:01:39.750 回答
1

是的。您的原始地图引用(不是复制地图对象)被传递,并且在其他类中对地图所做的任何更改也将反映在 main 方法中的地图中。

于 2012-12-05T21:01:56.773 回答
0

如果将地图传递给任何方法,则此方法可以更改地图的内容,然后对所有访问地图的人都可见。然而,该方法不能改变地图对象本身,例如用另一个地图替换地图。

于 2012-12-05T21:05:11.660 回答
0

是的,您正在传递一个参考值。

似乎这很容易通过实验证明,不是吗?

于 2012-12-05T21:01:04.003 回答