Java 创建一个内部数组具有不同长度的数组

Java 创建一个内部数组具有不同长度的数组,java,multidimensional-array,Java,Multidimensional Array,如果我在编译时知道数组的格式,我已经知道如何在Java中创建不同长度的数组。 例: 问题是,我需要在运行时生成。我不知道编译时数组需要的大小,但在运行时我会知道 这里的目标是用java制作(并具有java中数组的优点(如.length))来制作C中的内容: char[][] arrayC = malloc(outerArraySize); for(int i = 0; i < outerArraySize; i++){ arrayC[i] = malloc(innerArraySi

如果我在编译时知道数组的格式,我已经知道如何在Java中创建不同长度的数组。
例:

问题是,我需要在运行时生成。我不知道编译时数组需要的大小,但在运行时我会知道

这里的目标是用java制作(并具有java中数组的优点(如.length))来制作C中的内容:

char[][] arrayC = malloc(outerArraySize);
for(int i = 0; i < outerArraySize; i++){
    arrayC[i] = malloc(innerArraySize[i]);
}
char[][]arrayC=malloc(outerArraySize);
对于(int i=0;i
这段C代码是在这里临时生成的,因此可能包含错误,但它的目的只是澄清问题消息

如何在Java中正确执行此操作?

当然-只需使用:

char[][]数组=新的char[outerArraySize][];
对于(int i=0;i

您可能还想考虑使用字符串而不是字符数组,这取决于情况。

当然-只使用A:

char[][]数组=新的char[outerArraySize][];
对于(int i=0;i

你可能还想考虑使用字符串而不是字符数组,这取决于情况。我以前尝试过类似的东西(java 5或java 6),但遇到语法错误之类的问题,我没有读到任何关于它改变的新闻。@brunoais:它没有改变。自Java1以来,这种方法一直有效。你应该仔细看看语法错误。是的。。。我最近甚至没有尝试:D。我只是去问了这个问题,因为我知道它以前不起作用。哦顺便说一句,我只是想直接翻译成C,我认为char[]]将是一个很好的例子来显示我的意图(因为C中没有字符串,只有char[])。我正在使用我自己制作的对象的数组,所以不要担心;)天啊,霍莉,太快了!我以前尝试过类似的东西(java 5或java 6),但遇到语法错误之类的问题,我没有读到任何关于它改变的新闻。@brunoais:它没有改变。自Java1以来,这种方法一直有效。你应该仔细看看语法错误。是的。。。我最近甚至没有尝试:D。我只是去问了这个问题,因为我知道它以前不起作用。哦顺便说一句,我只是想直接翻译成C,我认为char[]]将是一个很好的例子来显示我的意图(因为C中没有字符串,只有char[])。我正在使用我自己制作的对象的数组,所以不要担心;)

char[][] arrayC = malloc(outerArraySize);
for(int i = 0; i < outerArraySize; i++){
    arrayC[i] = malloc(innerArraySize[i]);
}
char[][] array = new char[outerArraySize][];
for (int i = 0; i < outerArraySize; i++) {
    array[i] = new char[innerArraySize[i]];
}