我有以下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
哪个不起作用并抛出错误。这可以通过其他方式完成吗? 如果错了,请提前致谢并纠正我
答案 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]
看起来很酷。