演员表<对象[]>到对象[] []在Java中 [英] Cast List<Object[]> to Object[][] in Java

查看:189
本文介绍了演员表<对象[]>到对象[] []在Java中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何打开列表阵列成二维数组在Java中?

  // prepare名单
清单<对象[]> CONF =新的LinkedList<对象[]>();
conf.add(新的对象[] {FOO,BAR});
conf.add(新的对象[] {FOO,BAR});

我试过:

 对象[] []数组=(对象[] [])conf.toArray(新对象[0]​​);

但它在 ClassCastException异常失败:

 了java.lang.RuntimeException:java.lang.ClassCastException:[Ljava.lang.Object;不能转换为[Ljava.lang.Object;


解决方案

您缺少一对括号的:

 对象[] []数组= conf.toArray(新对象[0]​​ []);
                                                 ^^

或者,如果你想保存在一个不必要的内存分配:

 对象[] []数组= conf.toArray(新对象[conf.size()] []);

演员到对象[] [] 是不必要的,一旦参数的toArray()具有正确的类型

How to turn List of arrays into two dimensional array in Java?

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

I tried:

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

But it fails at ClassCastException:

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

解决方案

You are missing a pair of square brackets:

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

Or, if you wish to save on one unnecessary memory allocation:

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

The cast to Object[][] is unnecessary once the argument to toArray() has the correct type.

这篇关于演员表&LT;对象[]&GT;到对象[] []在Java中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆