尝试将此作为一个单行,有点困惑,为什么这不起作用:
var= balh.getArrayOStrings('sdfsfd').each{ it.replaceAll("herp","derp") }
我调用一个返回字符串数组的方法。我循环遍历它们并进行替换并分配回var,但是数组中的修改后的字符串不会分配回var。为什么不呢?
答案 0 :(得分:1)
each
返回原始列表,请尝试
balh = [:]
balh.getArrayOStrings = { x ->
[ "sudhpa Herp", "pskaap herp", "herp lsjkda"]
}
var = balh.getArrayOStrings('sdfsfd').collect { it.replaceAll("herp","derp") }
=> [sudhpa Herp, pskaap derp, derp lsjkda]