繁体   English   中英

演员表 <Object[]> 在Java中使用Object [] []

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM