我试图让所有选中的数组都被返回但是 return断开循环,不允许使用println等,它是一个从网站调用的数组里面的数组,它只打印第一个元素然后循环中断。任何帮助表示赞赏
def String citylist(String[][]data){
String result = null;
for(int i = 0; i < data.length; i++){
result = data[i][0];
return result;
}
}
答案 0 :(得分:1)
我猜你想要每个阵列的第一个元素......从问题中很难说出来......
如果是这样的话,你可以这样做:
List<String> citylist(String[][]data){
data.collect { it[0] }
}
答案 1 :(得分:0)
要获取每个数组的第一个元素,这就是您需要做的事情:
String[] citylist(String[][] data) {
String[] result = new String[data.length]
for (int i = 0; i < data.length; i++) {
result[i] = data[i][0]
}
return result
}
我不确定您的方法签名是否正确,因此我将其更改为返回array
String
。但如果你想要String
,你可以这样做:
String citylist(String[][] data) {
String[] result = new String[data.length]
for (int i = 0; i < data.length; i++) {
result[i] = data[i][0]
}
return result.toString()
}
同样如果您可以使用List
:
def citylist(String[][] data) {
def result = []
for (int i = 0; i < data.length; i++) {
result << data[i][0]
}
return result
}
然后你甚至可以使用一些很好的Groovy功能:
def citylist(String[][] data) {
def result = []
data.each {
result << it[0]
}
return result
}
对于上述所有代码,结果将为[1, 11, 21]
如果我理解你的上一条评论,这是另一种方法:
String[][] citylist(String[][] data) {
String[][] result = new String[data.length][]
for (int i = 0; i < data.length; i++) {
result[i] = new String[1]
result[i][0] = data[i][0]
}
return result
}
您的结果将是[[1], [11], [21]]