这个赋值操作如何工作..?

nge*_*esh 0 java collections

我遇到了一些新的东西,我真的很难理解.这就是我所做的,它完美无缺......

    Vector<String[]> v = new Vector<String[]>();
    v.add(s);

    String[][] s1 = new String[v.size][]
    v.toArray(s1);
Run Code Online (Sandbox Code Playgroud)

我的问题是它是如何工作的,即使方法toArray()只采用一维数组作为参数..?我对java编程不太老,所以寻求解释..

提前致谢..

Jon*_*eet 5

Java 中只有一个真正的一维数组 - 看起来你有一个多维数组,它实际上只是一个数组数组.

因此,如果我们忽略String []本身是一个数组,并将它替换为StringArray无处不在的事实,我们得到这样的代码:

Vector<StringArray> v = new Vector<StringArray>();
v.add(s);

StringArray[] s1 = new StringArray[v.size()];
v.toArray(s1);
Run Code Online (Sandbox Code Playgroud)

现在看起来不那么奇怪吧?s1是一个字符串数组的数组,v是一个字符串数组的向量.v.toArray()将一个字符串数组数组作为参数,因此我们可以使用它s1作为参数.