将Object [] {new Object [] {}}转换为int [] []

时间:2017-04-21 15:10:04

标签: java casting

我有这样的代码:

Object[] o1 = new Object[]{ 1, 2, 3, 4, 5 };
Object[] o2 = new Object[]{ 10, 20, 30, 40, 50 };
Object[] o3 = new Object[]{ 51, 42, 33, 24, 15 };

Object[] o4 = new Object[]{ o1, o2, o3 };

如何将o4转换为int[][]

int[][] i1 = Arrays.copyOf(o4, o4.length, int[][].class);
int[][] i2 = (int[][]) o4;

不能工作:(

1 个答案:

答案 0 :(得分:0)

您的数组应如下所示:

Object[][] o4 = new Object[][]{{o1}, {o2}, {o3}};

要投射它,你必须使用Integer,而不是这样:

Integer[][] i2 = (Integer[][]) o4;