【发布时间】:2014-08-01 18:13:49
【问题描述】:
在一些 Groovy 代码中,我写了这行代码
def intCurrentArray = currentVersion.tokenize('.').each({x -> Integer.parseInt(x)})
解析格式为版本号 XX.XX.XX.XX 的字符串,并将生成的字符串列表转换为整数列表。但是,Groovy 将 intCurrentArray 推断为字符串列表,从而导致不正确的转换。当我将行更改为:
ArrayList intCurrentArray = []
for (x in currentVersion.tokenize('.'))
intCurrentArray.add(Integer.parseInt(x))
转换工作得很好。为什么每种方法都会给出时髦的结果? Groovy 不会查看闭包内部来帮助推断 intCurrentArray 的类型吗?
【问题讨论】:
标签: java types groovy closures inference