我對java中的數組有一些疑問:Java計數數組對象
在下列表達式中創建了多少個對象?
(a)new int[0]
:有一個對象被創建,一個大小爲0的數組。
(b)new int[2][2]
:有一個對象創建,一個數組有2行和列。
(c)new int[2][]
:沒有創建對象?
我想知道如果我的解決方案旁邊的表達式是正確的。如果沒有,希望你能幫忙,並給我一些關於他們的解釋。我真的不知道我應該做什麼。
在此先感謝!
我對java中的數組有一些疑問:Java計數數組對象
在下列表達式中創建了多少個對象?
(a)new int[0]
:有一個對象被創建,一個大小爲0的數組。
(b)new int[2][2]
:有一個對象創建,一個數組有2行和列。
(c)new int[2][]
:沒有創建對象?
我想知道如果我的解決方案旁邊的表達式是正確的。如果沒有,希望你能幫忙,並給我一些關於他們的解釋。我真的不知道我應該做什麼。
在此先感謝!
新INT [0]
是這是一個空數組,則創建一個對象。
int[] emptyArray = new int[0];
System.out.println(emptyArray.length); // Outputs 0
新INT [2] [2]
是這創建和陣列2點的行和列,被創建3個對象。
int[][] bar = new int[2][2];
System.out.println(bar.getClass()); // Outputs class [[I
int[] bar1 = bar[0];
System.out.println(bar1.getClass()); // Outputs class [I
int[] bar2 = bar[1];
System.out.println(bar2.getClass()); // Outputs class [I
新INT [2] []
Java支持交錯數組。這意味着當您創建int[2][]
時,這意味着您擁有各種尺寸的int[]
。這裏只創建一個對象。
int[][] foo = new int[2][];
System.out.println(foo[0]); // Outputs null
System.out.println(foo[1]); // Outputs null
foo[0] = new int[10];
foo[1] = new int[5];
我明白你做了什麼,但有多少「對象」被創建?我的意思是如果你只是編碼int [] [] foo = new int [2] [];不會有任何對象嗎?因爲空的[] []必須先填充? – user1923369
我相信'new int [2] []'只會創建一個對象,它是數組對象本身。我可能錯了。 –
是的,我認爲Eng.Found是正確的。每個情況下只有一個對象,因爲用戶正在添加數據類型。但是,多個存儲位置將被分配 –
以下是從Java規範的摘錄:
在Java編程語言陣列對象(第4.3.1節),是 動態創建的,並且可以被分配到的變量鍵入對象 (§4.3.2)。可以在數組上調用Object類的所有方法。
這意味着每個數組都是一個自己的對象,這使得您的回答a)正確。創建
B) 3對象:1個陣列的第一和含有各2組int
的兩個陣列。我不會指望int
-entries,因爲它們是Java中的基本類型。
c) 1個對象被創建:1個包含兩個空條目的數組。
我相信我現在明白這一點,非常感謝您的幫助! – user1923369
解釋你的問題 –
看起來像一個考試問題。 _「我不太確定這個問題的含義」_? – Henrik
a)一個對象b)3個對象c)1個對象 – nhahtdh