学习数组复制的过程中,代码如下:
package test;
import java.util.*;
public class SelfStudy_Array {
public static void main(String[] args) {
int []a={1,222,56,4,33}; //define the array with 5 elements static
int []b = a; //copy the array a to b
System.out.println(Arrays.toString(a));
System.out.println(Arrays.toString(b));
作者: 周刚 时间: 2012-6-29 00:00
首先明确,在堆内存中只有一个int数组。开始a指向数组的初始地址,然后把b引用也指向同样一个地址。对数组a进行排序,自然b的顺序也随之发生了变化。
要想b不随着a顺序的变化而变化,就只能让b不和a指向同一个数组了,可以用Object.clone方法,将a数组复制一份给b数组。修改后的代码如下:
import java.lang.reflect.Array;
import java.util.*;
public class SelfStudy_Array {
public static void main(String[] args) {
int []a={1,222,56,4,33}; //define the array with 5 elements static
int []b = a.clone();