Java中的数组声明错误

Java中的数组声明错误,java,Java,为什么 声明很好,但是 int arr[][]=new int[5][]; 生成编译时错误? 请帮帮我。我不明白为什么会这样?int-arr[][][](通常写为int[]]arr)是一个数组,其中的每个元素都是对数组的引用 newint[][5]意味着“创建一个长度未知的数组,其中每个元素都是对数组的引用,每个长度为5”。显然,这没有道理 另一方面,newint[5][]意味着“创建一个长度为5的数组,其中的每个元素都是对数组的空引用” int arr[][]=new int[][5]

为什么

声明很好,但是

int arr[][]=new int[5][];
生成编译时错误?
请帮帮我。我不明白为什么会这样?

int-arr[][][]
(通常写为
int[]]arr
)是一个数组,其中的每个元素都是对数组的引用

newint[][5]
意味着“创建一个长度未知的数组,其中每个元素都是对数组的引用,每个长度为5”。显然,这没有道理

另一方面,
newint[5][]
意味着“创建一个长度为5的数组,其中的每个元素都是对数组的空引用”

int arr[][]=new int[][5]