Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Groovy & Grails > groovy collect


Автор: Gildebrant 23.5.2011, 09:54
Начал на днях изучать groovy, столкнулся с такой вещью. мне необходимо массив строк преобразовать к массиву интов
то есть ['2011', '2012'] к [2011, 2012]
можно сделать так
а = ['2011', '2012']
a.collect{it as int}


на таком примере сработает правильно,
но если 
a=['2011'] , то в результате получаю [2, 0, 1, 1]

как бы и на втором примере получить правильный результат?

Автор: MisterCleric 23.5.2011, 10:53
Привет
Код

def a = ['2011', '2010']
a = a.collect{it as int}
assert a.size == 2
a = ['2011']
a = a.collect{it as int}
assert a.size == 1


Возможно стоит взять более всежую версию Groovy?..

Автор: Gildebrant 23.5.2011, 13:40
Да, действительно так все работает, в случае когда передавалось только одно число, оно передавалось строкой, а не массивом. Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)