该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import java.util.Arrays;
public class Test
{
public static void main(String... args)
{
int[] int1dSrc = new int[]{ 1, 2, 3 };
System.out.println("int1dSrc: " + int1dSrc + ": " + Arrays.toString(int1dSrc));
int[] int1dCache = int1dSrc;
System.out.println("int1dCache: " + int1dCache + ": " + Arrays.toString(int1dCache));
System.out.println((int1dSrc == int1dCache) ? "int1dSrc == int1dCache" : "int1dSrc != int1dCache");
int[] int1dSrc = Arrays.copyOf(int1dSrc, int1dSrc.length + 1);
System.out.println("int1dSrc: " + int1dSrc + ": " + Arrays.toString(int1dSrc));
System.out.println("int1dCache: " + int1dCache + ": " + Arrays.toString(int1dCache));
System.out.println((int1dSrc == int1dCache) ? "int1dSrc == int1dCache" : "int1dSrc != int1dCache");
}
}
int1dSrc: [I@7d772e: [1, 2, 3]
int1dCache: [I@7d772e: [1, 2, 3]
int1dSrc == int1dCache
int1dSrc: [I@7d776c: [1, 2, 3, 0]
int1dCache: [I@7d772e: [1, 2, 3]
int1dSrc != int1dCache
自己去读 Arrays.copyOf(...) 的 API 。
本文探讨了Java中数组复制的两种情况:浅复制与深复制。通过示例代码展示了当使用赋值操作符`=`时,两个数组引用指向同一内存空间,而使用`Arrays.copyOf()`方法时创建了新的数组对象。分析了两者的区别及其在实际编程中的影响。
6185

被折叠的 条评论
为什么被折叠?



