3

如何在Java中将数组列表转换为二维数组?

//Prepare the list
List<Object[]> conf = new LinkedList<Object[]>();
conf.add(new Object[]{ "FOO", "BAR"});
conf.add(new Object[]{ "FOO", "BAR"});

我试过了:

Object[][] array = (Object[][]) conf.toArray(new Object[0]);

但它失败了ClassCastException

java.lang.RuntimeException: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [[Ljava.lang.Object;
4

1 回答 1

9

您缺少一对方括号:

    Object[][] array = conf.toArray(new Object[0][]);
                                                 ^^

或者,如果您希望节省一个不必要的内存分配:

    Object[][] array = conf.toArray(new Object[conf.size()][]);

Object[][]一旦参数 totoArray()具有正确的类型,就不需要强制转换。

于 2013-04-10T07:51:18.800 回答