将ArrayList转换为数组

3

我想知道是否有可能更改

ArrayList<ArrayList<String>> 

如何将Java中的对象数组转换为字符串二维数组。我认为toArray()函数不会递归处理其泛型参数。非常感谢您的建议。

2个回答

3

您说得对,toArray不会递归。恐怕您需要手动完成这个过程。类似于:

List<List<String>> stringLists;
String[][] stringArrays = new String[stringLists.size()][];
int i = 0;
foreach (List<String> stringList: stringLists) {
    stringArrays[i] = stringList.toArray(new String[stringList.size()]);
    ++i;
}

我实际上还没有尝试过那个,所以可能是垃圾。


你比我快3秒钟,你已经得到了它 :) - Snicolas
我很幸运 - 我的打字通常很糟糕,需要花费另外一分钟来修复我的帖子,然后才能发布它们,但今天它出来得相当快! - Tom Anderson
我本来想问你是怎么这么快地打出格式的 ;) 你通常用 Eclipse 来回答问题吗?我直接在文本框中输入并手动更正缩进。 - Snicolas
不,我只是在文本区域输入。我打字速度相当快,但通常很不准确,所以尽管我可以快速输入某些内容,但我需要花费与输入时间相同的时间来修正它。这一次,我没有犯像往常那样多的错误。 - Tom Anderson

0
如果bigL是您更大的数组列表,并且tab已创建到bigL.size()。
难道您不能做类似这样的事情:
for( ArrayList<String> l : bigL )
{
  tab[ index ++ ] = l.toArray( new String[ l.size() ] );
}//for

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接