JAVA改一个数组的值影响了另一个数组

来源:百度知道 编辑:UC知道 时间:2024/07/06 18:49:37
我定义了一个ArrayList<String>数组A, 从这个数组A中抽出几条, 放到另一个同一类型的数组B中去, 然后修改了数组B中的数值, 结果数组A的数值也跟着一起改掉了, 谁知道这是为什么啊? 我用Debug环境看了一眼, 两个数值的内存ID是一样的. 不知道为什么会一样, 这个有什么学问吗?

ArrayList只是一个变长数组,你可以把它看成一个容器。你把对象既放在A中又放B中,改一边另外一边肯定要变化。如果不想让它变化的话。

从这个数组A中抽出几条,(复制一下), 放到另一个同一类型的数组B中去

可能是你两个数组的引用指向了统一的地址吧