我是 Groovy 的新手。我执行以下 Groovy 代码:
myList=[234, 34, "Stackoverflow", 3.14]
myList=myList.collect {if (it instanceof Integer) it*it}
println myList
它输出:
[54756, 1156, null, null]
在我看来,它不应该改变字符串值。当我将第二行更改为:
myList=myList.collect {if (it instanceof Integer) it*it else it=it}
它按我的预期工作:
[54756, 1156, Stackoverflow, 3.14]
我想知道这背后的逻辑是什么!