2014-06-25 65 views
0

我想了解下面的代碼示例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

謝謝。

回答

2

[][0..0]必須調用List.subList(from, to),它會拋出一個AIOOBE。在[][0]調用一個常規的方法getAt(ix)至極安全

BTW [].first()也導致NoSuchElementException

我認爲,該行爲是相當一致