以下java语句是什么意思

时间:2011-11-02 17:16:27

标签: java syntax

我正在审阅java并偶然发现了类似以下代码块的内容

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

Foo [] {bar}在这种情况下意味着什么?是否返回由bar填充的Foo对象数组?似乎是一件非常微不足道的事情,但我不确定如何搜索它。

6 个答案:

答案 0 :(得分:4)

是的,它正在创建一个包含单个元素的数组,最初设置为bar的值。您可以将此语法用于更多元素,例如

new int[] { 1, 2, 3 }

这是 ArrayCreationExpression ,在section 15.10 of the Java Language Specification中指定,使用section 10.6中指定的 ArrayInitializer

答案 1 :(得分:3)

是。它是一个元素的数组。该元素为bar

答案 2 :(得分:1)

是的,没错。这构造了Foo的单元素数组,该数组仅包含元素bar

答案 3 :(得分:1)

等效代码为

Foo[] foos = new Foo[1];
foos[0] = bar;
return foos;

答案 4 :(得分:1)

  • 当您说新的Foo(...)
  • 时,在第2行创建类Foo的实例
  • 在下一行中,您将返回一个数组。
  • 数组的“类型”是“Foo”
  • 您要返回的数组中的成员是“bar”

答案 5 :(得分:0)

它返回一个内容为bar的数组。