2011-06-09 128 views
0

我有以下的Groovy代碼:Groovy的列表爲INT數

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

現在,我要的是,在number1每個列表應返回爲int,例如說,在number1第二個名單應退還26。我所做的是:

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

這是不工作,並引發錯誤。這可以用其他方式完成嗎? 在此先感謝和糾正我,如果我錯了

回答

9

您需要:

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

這將join()每個子列表的數字爲String,然後再轉換Stringint

1

以前從未使用過Groovy但如何:

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

看起來像一個很酷的語言。

+0

還沒有使用Groovy的前,但你仍然得到的答覆..瞎掰:d – 2011-06-09 17:06:41

3

下面是一個使用傳播操盤的收集備用:

number1*.join()*.asType(Integer)