有这样一个类,这样定义了一个二维数组
 class  Array
{
   int i;
  byte [][] Dy= new byte[i][]; public Array(int j)
  {
     i=j;
   }
}在另外一个类里面
public class SetArray
{
  public void setData()
 {
   Array array=new Array(3);
// 我调用Array类的构造函数,动态创建一个二维数组,定义了一维的长度,这样做对不对?
//如果是对的,那我接下来这样定义二维的长度,是否正确
 array.Dy[0]=new byte[1024];
 array.Dy[1]=new byte[1024];
//如果上面这样做也是对的,接下来我想给这个二维数组赋值,假如已经存在了两个byte[1024]的一维数组:data1[1024]
//data2[1024],我想把这两个数组整体赋给array.Dy[0]和array.Dy[1]可否实现。
//如果上面全是错的,我该怎么做,我就想实现动态创建二维数组,并赋值,不是遍历赋值,而是利用已有的数组整体赋值
//请高手指点下,最好能个程序的例子
  }
}

解决方案 »

  1.   

    两个数组整体赋给array.Dy[0][1024]和array.Dy[1][1024]
      

  2.   

    动态数组为什么不用arraylist呢
      

  3.   

    我在做java 调用vc的dll接口。
    我想把这个创建好的动态二维数组是要在vc的接口里面赋值的,不能用arraylist 啊,只能整体赋值啊。
      

  4.   


    jni 中怎么实现clone啊,就是在vc的cpp文件里能不能通过jni来clone
      

  5.   


    Arrays.asList()可以把一个数组转为List,List类的toArray()方法可以把List转为数组。
    你可以在java这边用ArrayList,再把ArrayList转为数组,再传给VC接口。
    不过,ArrayList内只能放对象,转成的数组也是包装类型的。如果你只想用所谓的动态数组,System.arraycopy()方法应该对你有用,只不过这种拷贝是浅拷贝,用的时候注意一下。如果你数组里是基本数据,用System.arraycopy()就可以了。