这是下面的想法:
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/