我有以下字符串声明,并且在for循环中使用了该字符串:
String[] values = new String["A","B","C"]
for (int i = 0, length = values.length; i < length; i++)
{
getData(values[i], i, length);
}
在for循环行上引发错误“意外令牌:= @”。
答案 0 :(得分:1)
Groovy在创建字符串数组方面有所不同
String[] values = ['A', 'B', 'C']
您也可以做您想做的事
def values = ["A","B","C"]
values.eachWithIndex { item, idx ->
getData(item, idx, values.size())
}
答案 1 :(得分:0)
如果要编写有效的Java,则必须使用花括号将所需的值初始化数组,如下所示:
String[] values = new String[]{"A","B","C"};
for (int i = 0, length = values.length; i < length; i++) {
getData(values[i], i, length);
}
如果要在Groovy中执行此操作,只需使用:
String[] values = [ 'A', 'B', 'C' ]
values.eachWithIndex { v, i ->
getData(v, i, values.size())
}
答案 2 :(得分:-1)
在您的代码示例中,在for循环初始化后未使用分号。 例如,
for(var i = 0; i
不带分号的编译会给您一个错误,而不是初始化I变量。