2011-11-02 41 views
0

我審查Java和偶然發現了類似的代碼什麼是以下Java語句的意思

public Foo example() 
Foo bar = new Foo(...); 
... 
return new Foo[]{bar}; 

是什麼富[] {}吧在這種情況下指的是以下塊?它是否返回由bar填充的Foo對象數組?似乎是一些非常微不足道的東西,但我不知道如何搜索它。

回答

4

是的,它創建一個單個元素的數組,初始值設置爲bar。儘管你可以使用這個語法來獲得更多的元素,例如

new int[] { 1, 2, 3 } 

這是一個ArrayCreationExpression,如在section 15.10 of the Java Language Specification的規定,使用一ArrayInitializersection 10.6指定。

+0

啊,這是有道理的。感謝您的鏈接。驚奇地發現他們不會重定向到oracle的頁面。 – alex28

3

是的。它是一個元素的數組。該元素是bar

+0

哇陣列中的一員。 6秒。德勤。 – CamelSlack

0

它返回一個數組,其內容是酒吧。

1

是的,沒錯。這構造了Foo的單元素數組,其僅由元素bar組成。

1

等效代碼將

Foo[] foos = new Foo[1]; 
foos[0] = bar; 
return foos; 
1
  • 時,你說新的Foo(...)創建第2行的Foo類的實例
  • 下一行要返回數組。
  • 的所述陣列的「類別」爲「富」
  • 您正在返回是「BAR」