2011-11-02 42 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”