谷歌搜索了一段时间后,我知道有很多方法可以用Java将数组复制到另一个数组,即使用System.arraycopy.
但是我的一些朋友试图用这个:
boolean a[][] = new boolean[90][90];
boolean b[][] = new boolean[90][90];
/* after some computations */
a = b
Run Code Online (Sandbox Code Playgroud)
这会产生一个相当不确定的结果,有谁知道这实际上是做什么的?
Jon*_*eet 11
它根本不是非确定性的.
a = b;
Run Code Online (Sandbox Code Playgroud)
只需指定bto 的值a.值b是对数组的引用 - 所以现在两个变量都包含对同一数组的引用.旧的值a是无关紧要的 - 如果它引用了一个没有其他任何引用的数组,它现在将有资格进行垃圾收集.
请注意,这不是特定于数组的 - 它是所有引用类型在Java中工作的方式.
基本上,您根本不会将一个数组复制到另一个数组中 - 您将对数组的引用复制到另一个变量中.就这样.