这是以下想法:
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;
有什么主意吗?
答案 0 :(得分:5)
有toArray
版,它接受数组作为参数。这使您可以指定要返回的数组类型。
Object[][] obj = ret.toArray(new Object[0][]);
您可以传递足够大的数组以容纳列表的内容;或者您可以传入零大小的数组,列表实现应返回与您传入的数组相同类型的新数组。