[英]Cast List<Object[]> to Object[][] in Java
如何在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;
你缺少一对方括号:
Object[][] array = conf.toArray(new Object[0][]);
^^
或者,如果您希望节省一个不必要的内存分配:
Object[][] array = conf.toArray(new Object[conf.size()][]);
一旦toArray()
的参数具有正确的类型,就不需要转换为Object[][]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.