簡體   English   中英

像這樣聲明的數組在哪里 int[][][] arr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; 在java中得到存儲?

[英]where will an array declared like this int[][][] arr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; in java get stored?

通常,在Java新關鍵字用於制造陣列不過這也是一個辦法做到這一點,所以我很好奇,哪來這個數組存儲在java中它會在堆棧或堆內存

正如在評論中解釋說:

int[][][] arr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };

是語法糖

int[][][] arr = new int[][][] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };

在這兩種情況下,變量arr都是在棧上分配的(如果是局部變量); 但實際的陣列對象arr引用被分配在堆上。

數組對象總是存儲在堆存儲器。

陣列是一個對象,以便

可變+指針超出在堆

實際值在堆中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM