有这样一个类,这样定义了一个二维数组
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]可否实现。
//如果上面全是错的,我该怎么做,我就想实现动态创建二维数组,并赋值,不是遍历赋值,而是利用已有的数组整体赋值
//请高手指点下,最好能个程序的例子
}
}
我想把这个创建好的动态二维数组是要在vc的接口里面赋值的,不能用arraylist 啊,只能整体赋值啊。
jni 中怎么实现clone啊,就是在vc的cpp文件里能不能通过jni来clone
Arrays.asList()可以把一个数组转为List,List类的toArray()方法可以把List转为数组。
你可以在java这边用ArrayList,再把ArrayList转为数组,再传给VC接口。
不过,ArrayList内只能放对象,转成的数组也是包装类型的。如果你只想用所谓的动态数组,System.arraycopy()方法应该对你有用,只不过这种拷贝是浅拷贝,用的时候注意一下。如果你数组里是基本数据,用System.arraycopy()就可以了。