Groovy字符串整数范围

时间:2015-03-13 09:45:43

标签: string groovy types

如何在表示整数的字符串上使用范围运算符?

当字符串表示大于9的整数时,会出现真正的问题。范围会将字符串视为数字列表,并且仅使用第一个字符串而不是将整个字符串转换为整数。

String start = '1'
String end = '11'
println "Range over strings"
(start..end).each{println it}
println "Range over integers"
(start.toInteger()..end.toInteger()).each{println it}

结果:

  

字符串范围   1

     

整数范围   1   2   3   4   五   6   7   8   9   10   11

我想保持代码简单,并尽可能避免使用过多的类型转换,因为我需要结果列表将数字包含为字符串。

1 个答案:

答案 0 :(得分:2)

您需要进行类型转换,也许自定义范围是一个想法:

class CustomRange extends IntRange {
    CustomRange(String start, String end) {
        super(start.toInteger(), end.toInteger())
    }
}