我审查Java和偶然发现了类似的代码什么是以下Java语句的意思
public Foo example()
Foo bar = new Foo(...);
...
return new Foo[]{bar};
是什么富[] {}吧在这种情况下指的是以下块?它是否返回由bar填充的Foo对象数组?似乎是一些非常微不足道的东西,但我不知道如何搜索它。
我审查Java和偶然发现了类似的代码什么是以下Java语句的意思
public Foo example()
Foo bar = new Foo(...);
...
return new Foo[]{bar};
是什么富[] {}吧在这种情况下指的是以下块?它是否返回由bar填充的Foo对象数组?似乎是一些非常微不足道的东西,但我不知道如何搜索它。
是的,它创建一个单个元素的数组,初始值设置为bar
。尽管你可以使用这个语法来获得更多的元素,例如
new int[] { 1, 2, 3 }
这是一个ArrayCreationExpression,如在section 15.10 of the Java Language Specification的规定,使用一ArrayInitializer如section 10.6指定。
它返回一个数组,其内容是酒吧。
是的,没错。这构造了Foo
的单元素数组,其仅由元素bar
组成。
等效代码将
Foo[] foos = new Foo[1];
foos[0] = bar;
return foos;
啊,这是有道理的。感谢您的链接。惊奇地发现他们不会重定向到oracle的页面。 – alex28