如何在 Groovy 中声明字符串数组?

Vin*_*bha 7 groovy

如何在 Groovy 中声明字符串数组?我正在尝试如下但它抛出一个错误

def String[] osList = new String[]

No expression for the array constructor call at line: 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Fol*_*ing 8

首先:欢迎来到SO!

在 groovy 中创建数组有几个选项。

但让我们从你做错了什么开始。

def String[] osList = new String[]
Run Code Online (Sandbox Code Playgroud)

您在这里同时使用了defString[]

Def 是一个匿名类型,这意味着 groovy 会找出适合你的类型。String[]是声明的类型,所以groovy在这里看到的是:

String[] String[] osList = new String[]
Run Code Online (Sandbox Code Playgroud)

这显然行不通。

然而,数组需要固定的大小,需要将其作为创建数组的参数给出:

Type[] arr = new Type[sizeOfArray]
Run Code Online (Sandbox Code Playgroud)

在你的情况下,如果你想在数组中有 10 个项目,你会这样做:

String[] osList = new String[10]
Run Code Online (Sandbox Code Playgroud)

如果您不知道将有多少个字符串,请使用列表。在大多数情况下,ArrayList 可以做到这一点:

List<String> osList = new ArrayList<>()
Run Code Online (Sandbox Code Playgroud)

现在您可以通过调用添加项目:

osList.add("hey!")
Run Code Online (Sandbox Code Playgroud)

或使用 groovy 的列表添加运算符:

osList << "hey!"
Run Code Online (Sandbox Code Playgroud)

更多问题你应该参考groovy的官方文档,看看你自己是否找不到解决方案!