例如:
groovy:000> Arrays.asList 1,2,3,4,5
===> [1, 2, 3, 4, 5]
有效,因为不需要该值。
但是当返回值分配给变量时:
groovy:000> a = Arrays.asList 1,2,3,4,5
ERROR org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, groovysh_parse: 1: unexpected token: 1 @ line 1, column 19.
a = Arrays.asList 1,2,3,4,5
^
1 error
at java_lang_Runnable$run.call (Unknown Source)
失败。
要使它运行,你需要括号。
groovy:000> a = Arrays.asList( 1,2,3,4,5)
===> [1, 2, 3, 4, 5]
这背后有设计理由吗?或者它只是实施的方式?
答案 0 :(得分:3)
我不知道历史上的答案,但请注意:
您的示例应与Groovy 1.8 beta3 +一起使用
答案 1 :(得分:1)
因为如果没有它们,您将无法将方法调用链接到返回值。 (如果你要链接到单个参数或返回值,那将是不明确的。)