java - 将 arrayList<Object[]> 转换为嵌套数组

标签 java

这是下面的想法:

List<Object[]> ret = new ArrayList<>();
ret.add(new Object[]{"a", 1});
Object[][] obj = (Object[][]) ret.toArray();

但它不起作用:toArray 返回 Object[]

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

有什么想法吗?

最佳答案

有一个版本toArray接受一个数组作为参数。这允许您指定要返回的数组类型。

Object[][] obj = ret.toArray(new Object[0][]);

您可以传入一个足够大的数组来容纳列表的内容;或者你可以传入一个零大小的数组,列表实现应该返回一个与你传入的数组类型相同的新数组。

关于java - 将 arrayList<Object[]> 转换为嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56564896/

相关文章:

java - 具有许多不同类型/构造函数的类枚举类的模式

java - 帮我连接java和oracle

java - 我的 Maven 项目 VSCode 没有主要 list 属性错误

java - 为什么实例变量是最终的?

java - 如何使用 Javassist 在 ChMethod 中使用 insertBefore () 加载修改?

java - 如何使用 spring IDE 查看 spring 项目的类图

java - public classG<A extends X & Y & Z> 关于 Java 中的泛型

java - 从地点选择器获取地名,经纬度并在 map 中显示

java - Tika Parser 作为 gradle jar 中的运行时依赖项

Java设置方式在输出中提供一定数量的空格?