Mar*_*mro 3 java arrays casting list classcastexception
如何在Java中将数组列表转换为二维数组?
//Prepare the list
List<Object[]> conf = new LinkedList<Object[]>();
conf.add(new Object[]{ "FOO", "BAR"});
conf.add(new Object[]{ "FOO", "BAR"});
Run Code Online (Sandbox Code Playgroud)
我试过了:
Object[][] array = (Object[][]) conf.toArray(new Object[0]);
Run Code Online (Sandbox Code Playgroud)
但它失败了ClassCastException:
java.lang.RuntimeException: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [[Ljava.lang.Object;
Run Code Online (Sandbox Code Playgroud)
你缺少一对方括号:
Object[][] array = conf.toArray(new Object[0][]);
^^
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望节省一个不必要的内存分配:
Object[][] array = conf.toArray(new Object[conf.size()][]);
Run Code Online (Sandbox Code Playgroud)
Object[][]一旦参数toArray()具有正确的类型,则转换为to 是不必要的.
| 归档时间: |
|
| 查看次数: |
637 次 |
| 最近记录: |