Groovy List作为Int号

时间:2011-06-09 15:38:45

标签: groovy

我有以下Groovy代码:

def number = "246" as List
def number1= number.subsequences() 
//outputs: [[6], [2, 6], [4, 6], [2], [2, 4, 6], [4], [2, 4]]

现在我想要的是,number1中的每个列表都应该以{{1​​}}的形式返回,例如int中的第二个列表应该返回为number1。我所做的是:

26

哪个不起作用并抛出错误。这可以通过其他方式完成吗? 如果错了,请提前致谢并纠正我

3 个答案:

答案 0 :(得分:10)

你需要:

number1.collect { it.join() as int }

将子列表中的每个数字join()变为String,然后将String转换为int

答案 1 :(得分:3)

这是使用spread运算符而不是collect:

的替代方法
number1*.join()*.asType(Integer)

答案 2 :(得分:1)

以前从未使用过Groovy但是如何:

number1.collect{ it.join('') as int }
Result: [6, 26, 46, 2, 246, 4, 24]

看起来很酷。