Groovy集合——范围操作



我试图理解以下代码示例中的行为

groovy:000> [][0]
===> null
groovy:000> [][0..0]
ERROR java.lang.IndexOutOfBoundsException:
toIndex = 1
        at groovysh_evaluate.run (groovysh_evaluate:2)
        ...
groovy:000> 

为什么第一个代码段返回null,而第二个代码段抛出IndexOutofBoundsException。我的期望是这与第一个代码片段的结果一致。

我使用的是groovy编译器2.1.4

谢谢。

[][0..0]必须调用List.subList( from, to ),这会引发AIOOBE。[][0]调用groovy的getAt(ix)方法,这是安全的

btw [].first()结果也在NoSuchElementException

我认为,行为是相当一致的

最新更新