Groovy getAt()与get()的比较

Groovy getAt()与get()的比较,groovy,Groovy,考虑以下列表: def list=[1,2,3] 如果我使用 list.getAt(0) 或 列表。获取(0) 两者将提供相同的输出。 但是getAt()和get()之间有什么区别吗?解释道: 支持列表的下标运算符 因此没有区别,但是getAt()是允许Groovy代码使用list[1]而不是list.get(1) 有关运算符重载的工作原理,请参阅。文档没有很好地解释这一点,但在我的测试中,实际的区别似乎是,getAt(i)在引用列表中没有的索引时将返回null,而get(i)方法将在传入不在列

考虑以下列表:
def list=[1,2,3]

如果我使用
list.getAt(0)


列表。获取(0)

两者将提供相同的输出。
但是getAt()和get()之间有什么区别吗?

解释道:

支持列表的下标运算符

因此没有区别,但是
getAt()
是允许Groovy代码使用
list[1]
而不是
list.get(1)


有关运算符重载的工作原理,请参阅。

文档没有很好地解释这一点,但在我的测试中,实际的区别似乎是,
getAt(i)
在引用列表中没有的索引时将返回
null
,而
get(i)
方法将在传入不在列表中的索引时引发IndexOutOfBoundsException,就像普通旧Java一样。

-建议的编辑队列已满。。。
def list = [2, "a", 5.3]
assert list[1] == "a"