[英]Array length in a multidimensional array java
我很難理解為什么我一旦聲明了一個多維數組:
int t2[][] = new int[5][10] ;
我仍然可以像這樣更改數組的長度:
t2[0] = new int[12];
我以為一旦聲明數組為一定長度,就無法更改它。 那么這怎么可能呢?
從根本上講,二維數組無非就是數組的數組。 所以這:
int t2[][] = new int[5][10] ;
確實是這樣做的:
int t2[][] = new int[5][];
for (int i = 0; i < t2.length; i++)
{
t2[i] = new int[10];
}
因此,實際上,您可以像分配任何其他數組元素一樣分配t2[x]
。
注意:您不會通過說t2[0] = new int[12]
擴展數組的長度。 您正在創建一個新的,這意味着如果您對t2[0][x]
進行了任何分配,那么除非您將它們復制到自己身上,否則它們將丟失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.