一个数组复制另一个数组的值

一个数组想复制另一个数组的值

int[] sum = new int[3];
int[] mm = new int[3];
mm = sum;   

这样显然是不行的

这样改变sum数组里的值,mm数组里的值也会变。

这是因为这两个变量指向同一对象的引用,即sum就是mm,mm就是sum

为了解决这一问题,我们专门有一个clone();方法

如果要将sum[]的值赋给mm[]数组

则这样用:mm = sum.clone();

public class SortTest {

	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		int[] sum = new int[3];
        for (int i = 0; i < 3; i++) {
			
			sum[i] = input.nextInt();
		}
		int[] mm = new int[3];
		//mm = sum;    
		/*
		 * 当你数组a=数组b时 其实是这两个变量 都是指向的同一个对象的引用
		 */
		mm=sum.clone();   //将一个数组(变量)里的值赋值给另外一个数组(变量)
		Arrays.sort(mm);
		for (int i = 0; i < 3; i++) {
			System.out.println(sum[i]);
			
		}
	}

}

 


版权声明:本文为zxl1148377834原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。