数组复制

来源:互联网 发布:java工程反编译 编辑:程序博客网 时间:2024/05/18 12:32

数组复制,复制的是对象引用的地址,所以复制后指向同一地址,而不是重新创建对象
用System.arraycopy(被复制数组引用名 , 角标 , 复制的数组引用名 , 角标 , 复制的数组长度);

public class TestArrayCopy {  public static void main(String args[]) {    String[] s =             {"Microsoft","IBM","Sun","Oracle","Apple"};    String[] sBak = new String[6];    System.arraycopy(s,0,sBak,0,s.length);    for(int i=0;i<sBak.length;i++){      System.out.print(sBak[i]+" ");    }    System.out.println();    int[][] intArray = {{1,2},{1,2,3},{3,4}};    int[][] intArrayBak = new int[3][];    System.arraycopy            (intArray,0,intArrayBak,0,intArray.length);    intArrayBak[2][1] = 100;    for(int i = 0;i<intArray.length;i++){        for(int j =0;j<intArray[i].length;j++){            System.out.print(intArray[i][j]+"  ");         }        System.out.println();    }  }}

其中,两个数组的引用指向同一对象,所以改变其中一个数组引用对象,另一个也会发生变化

0 0
原创粉丝点击