数组的赋值机制
1. 基本数据类型赋值,这个值就是具体的数据,而且相互不影响。
int n1 = 2; int n2 = n1;
2. 数组在默认的情况下是引用传递,赋的值是地址。
示例:
int[] arr1 = {1,2,3};
int[] arr2 = arr1;
3. 数组拷贝
/**
* 数组拷贝
*/
@Test
public void ArrayCopy() {
//将 int[] arr1 = {1, 2, 3}; 拷贝到 arr2 数组,
//要求数据空间是独立的.
int[] arr1 = {1, 2, 3};
//创建一个新的数组 arr2,开辟新的数据空间
int[] arr2 = new int[arr1.length];
//遍历 arr1 ,把每个元素拷贝到 arr2 对应的元素位置
for (int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
//修改 arr2, 不会对 arr1 有影响.
arr2[0] = 100;
//输出 arr1
System.out.println("====arr1 的元素====");
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
System.out.println("====arr2 的元素====");
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
输出: