我试图理解以下代码示例中的行为
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
我认为,行为是相当一致的