Groovy 范围函数不适用于大数字

Groovy range function not working on large numbers

我有这个相当简单的代码:

BigInteger bigNum = 600851475143

println 1G..bigNum

结果是一个空列表([]),为什么会这样?

很可能是 returns 空列表,因为您正在尝试创建大小为 > 而非 Integer.MAX_VALUE

的数组
BigInteger bigNum = 600851475143

println bigNum -10 .. bigNum

[600851475133, 600851475134, 600851475135, 600851475136, 600851475137, 600851475138, 600851475139, 600851475140, 600851475141, 600851475142, 600851475143]​