System.arraycopy(Object src,  
                 int  srcPos,
                 Object dest, 
                 int destPos,
                 int length)

解决方案 »

  1.   

    笨人笨招,用循环
    一维数组就一个一循环,二维做两个,.....
    数组大小好象是:数组名称.length
      

  2.   

    int [] k1={……};
    int [] k2=(int[]) k1.clone();我也是才学的不知道对不对
      

  3.   

    System.arraycopy(Object src, //要拷贝的数组, 
                     int  srcPos,//不能超出你要拷贝数组的长度,
                     Object dest, //目标数组,
                     int destPos, //不能超出你目的数组的长度,
                     int length) //不能超出你目的数组的长度 
      

  4.   

    int a[] = { 1,2,3,4,5 };
    int b[] = a;
      

  5.   

    拷贝数组有两种方法:
    1、使用循环自己拷贝。
    2、使用System类的arrayCopy方法
      

  6.   

    由于问题不是很清楚,有2种情况
    一种是源数组和目的数组是int、boolean这些简单数据类型,使用System.arraycopy()方法即可
    另一种情况是源数组和目的数组是复杂类型的数组,这时候System.arraycopy()只能实现浅拷贝,就是说目的数组copy出来的只是源数组内容的引用。比如Temp []src和Temp []dest都是Temp类型的数组,则用System.arraycopy(src,0,dest,0,length) copy出来后,修改dest[i],则src[i]跟着变,因为两者引用的是同一对象。所以如果你想深拷贝,就需要自己写一个函数。
        private static void arrayCopy(Object src, int i, Object dest, int j, int length){
           try{
               Temp []src0=(Temp[]) src;
               Temp []dest0=(Temp[]) dest;
              for(int k=0;k<length;k++){
                  dest0[j]=(Temp) src0[i].clone();
                  i++;
                  j++;
              }
           }catch(Exception e){
               e.printStackTrace();
           }
        }
    其中,在Temp类中实现了clone方法
      

  7.   

    另外,如果数组等长,而且对应copy,使用dest=(Temp[])src.clone();也可以实现System.arraycopy()同样的功能