Java中如何将数组List转为二维数组?
//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;
最佳答案
您缺少一对方括号:
Object[][] array = conf.toArray(new Object[0][]);
^^
或者,如果您希望节省一次不必要的内存分配:
Object[][] array = conf.toArray(new Object[conf.size()][]);
一旦 toArray()
的参数具有正确的类型,就不需要强制转换为 Object[][]
。
关于java - 在 Java 中将 List<Object[]> 转换为 Object[][],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15919948/