我遇到了一些我觉得很难理解的新事物。这是我所做的,它的工作非常好..
Vector<String[]> v = new Vector<String[]>();
v.add(s);
String[][] s1 = new String[v.size][]
v.toArray(s1);我的问题是,即使方法toArray()只使用一维数组作为参数.它是如何工作的?我不太喜欢java编程,所以我想找个解释..
提前谢谢..。
发布于 2011-07-06 05:31:13
在Java中只有真正的一维数组--它看起来像是一个多维数组,实际上它只是一个数组。
因此,如果我们忽略了String[]本身是一个数组这一事实,并将其替换为无处不在的StringArray,我们将得到以下代码:
Vector<StringArray> v = new Vector<StringArray>();
v.add(s);
StringArray[] s1 = new StringArray[v.size()];
v.toArray(s1);这看起来并不奇怪,对吧?s1是一个字符串数组,而v是一个字符串数组的向量。v.toArray()将字符串数组作为参数,因此我们可以使用s1作为参数。
发布于 2011-07-06 05:30:58
很简单:v是一维数组的向量,toArray返回向量中任何元素的一维数组(本例中是一维数组)。结果是一维数组,通常称为二维数组.
发布于 2011-07-06 05:32:49
toArray()接受一个一维对象数组。
字符串数组是一个对象。
s1是字符串数组的数组。
QED
https://stackoverflow.com/questions/6591912
复制相似问题