我有一个Object[]
类型的对象。数组的所有元素实际上都是Object[]
个对象。所以基本上看起来像这样
Object[] oneD = {objectArray1, objectArray2, objectArray3, ...}
我想将其转换为Object[][]
,如下所示:
Object[][] twoD = (Object[][])oneD;
但是我收到编译器错误和ClassCastException
。
有(正确的)方法吗?
答案 0 :(得分:2)
你不能在数组类型之间强制转换 - java不是C,但你可以很容易地转换它:
Object[] oneD = {new Object[]{}, new Object[]{}, ...};
Object[][] twoD = Arrays.stream(oneD).map(Object[].class::cast).toArray(Object[][]::new);
答案 1 :(得分:1)
简单地说就是
ButtonDownFcn
答案 2 :(得分:0)
假设内部Object数组具有相同的大小,您可以这样做:
Object[] asdf = {new Object[3], new Object[3], new Object[3]};
Object[][] newAsdf = {{asdf[0]}, {asdf[1]}, {asdf[2]}};