public class Copy{
public static void main(String [] args){
String []s={"A","bc","def","higk"};
String[]sBak=new String [6];
System.arraycopy(s,0,sBak,0,s.length);
for(int i=0;i<sBak.length;i++){
System.out.println(sBak[i]);
}
int [][]a={{1,2},{3,4,5},{7,9}};
int [][]aBak=new int [4][ ];
System.arraycopy(a,0,aBak,0,a.length);
for(int i=0;i<aBak.length;i++){
for(int j=0;j<aBak[i].length;j++){
System.out.println(aBak[i][j]+"--");
}
}
}
}
public static void main(String [] args){
String []s={"A","bc","def","higk"};
String[]sBak=new String [6];
System.arraycopy(s,0,sBak,0,s.length);
for(int i=0;i<sBak.length;i++){
System.out.println(sBak[i]);
}
int [][]a={{1,2},{3,4,5},{7,9}};
int [][]aBak=new int [4][ ];
System.arraycopy(a,0,aBak,0,a.length);
for(int i=0;i<aBak.length;i++){
for(int j=0;j<aBak[i].length;j++){
System.out.println(aBak[i][j]+"--");
}
}
}
}
当然会出错了!
你想把三个苹果给四个人吃,肯定一个会没有啊(要求一个人一个~)
那个没有的就说,我是第四个人,我没有第四个苹果,我出现
故:第四个人很生气,后果很严重!
int [][]aBak=new int [3][ ];
这个可以看成是内存中三个一维数组的引用,分别是aBak[0],aBak[1],aBak[2],
而int [][]aBak=new int [4][ ];
表示你又在堆中开辟了一块内存,即成了四个一维数组,
可是栈中原来的的引用没有变,还是三个引用,
所以就抛异常喽.
能复制多维数组吗!...........