2011-06-23 52 views
4

有人能向我解釋這個代碼Java的幫助 - >奇怪的代碼

new Object[]{"PLease","Help"}; 

我從來沒有見過這樣的代碼之前,
所以它,如果有人介紹了這些對我來說是有幫助的。 預先感謝您

+1

哈哈:-) :-)可愛+1 –

回答

5

這是一個內嵌式陣列的簡稱。

這是一樣的做...

Object[] aArray = new Object[2]; 
aArray[0] = "PLease"; 
aArray[1] = "Help"; 
+2

它不一樣,在你的例子中引用aArray存在...在問題中數組是匿名的。如果您在示例中將aArray傳遞給方法,則引用將按值傳遞,以便在方法上下文中存在另一個引用。正如所寫的,如果匿名數組被傳入一個方法,只有方法範圍可以訪問它。 – hvgotcodes

+2

正確但挑剔。 –

+3

是真的,但細節很重要。 ;) – hvgotcodes

24

您正在創建一個新的Object數組,其中包含2個字符串「PLease」和「Help」。

您正在使用的構造稱爲匿名數組,因爲您沒有將該數組分配給任何數據(如果要將該數組傳遞給方法,這很有用)。

參見http://docstore.mik.ua/orelly/java-ent/jnut/ch02_09.htm

+2

簡單而正確的 – RMT

+1

耶,16了投票,在不到10分鐘 –

+0

@ eng.fouad,是啊我做了我平常的「提交然後回去編輯」,當我回來時它是+8(在15秒內)。我很驚訝。嘿,我接受它;) – hvgotcodes

3

此:

新對象[] { 「請」, 「幫助」};

等同於:

Object[] array = new Object[size]; 
array[0] = "PLease"; 
array[1] = "Help"; 

我希望這將清除它一點。

+1

爲什麼不是2而不是尺寸? – aalku

+0

AHA!(尤里卡!), 這意味着 串E =新的String [] { 「是」, 「它」} 等於 串E =新字符串[ 「或」, 「不爲」 ] – kebyang

+0

@Kebyang在你不是開玩笑的情況下(我懷疑),**否**那不是什麼意思:) – Simeon