我有一个ArrayList
对象,它的值是Object
. 我想将其转换为数组。这是我所做的总结:
ArrayList result = new ArrayList();
Object[] row = new Object[4];
result.add(row);
Object[][] arrayResult = result.toArray();
但我收到一个错误,我无法将其转换为Object[][]
. 我该怎么办?
我有一个ArrayList
对象,它的值是Object
. 我想将其转换为数组。这是我所做的总结:
ArrayList result = new ArrayList();
Object[] row = new Object[4];
result.add(row);
Object[][] arrayResult = result.toArray();
但我收到一个错误,我无法将其转换为Object[][]
. 我该怎么办?
将其更改为以下内容:
ArrayList<Object> result = new ArrayList<Object>(); // 1
Object[] row = new Object[4];
result.add(row);
Object[][] arrayResult = result.toArray(new Object[0][0]); // 2
toArray
没有参数只会给你一个Object[]
,你需要给它一个数组作为“示例”。这是由一种叫做“类型擦除”的东西引起的,你可以从这里读到一点。