表达式的类型必须是数组类型,但它将解析为Object

And*_*een 1 java arrays object

我希望这能编译,但我不断得到错误"表达式的类型必须是数组类型,但它被解析为Object".有一个简单的解决方法吗?

public class NodeTest {
    public static void main(String[] args) {

    Object[] arr = new Object[5]; // each element of object will be an array of integers.
    for(int i = 0; i < 5; i++){
        int[][] a = new int[2*(i+1)][2*(i+1)];
        arr[i] = a;
    }
    arr[0][0][0] = 0; //error here
}
Run Code Online (Sandbox Code Playgroud)

}

Bre*_*ker 6

arrObject[]这样arr[0]会回来的Object

但是因为你知道arr包含你的int[][]实例Object你将不得不将它们强制转换为如此.

( ( int[][] ) arr[0] )[0][0] = 0;
Run Code Online (Sandbox Code Playgroud)