最近,我在Java代码中遇到了getAt()方法的用法。它用于从URL获取数据(URL通过表单提交通过GET方法发送)。该网址将类似于:

http://192.168.27.55/flight/search?n=airchina

该方法的用法类似于name=params.getAt("n")。然后,数据通过search("n",name)传递给另一个函数。谁能告诉我它是如何工作的?

最佳答案

Groovy中的getAt()对集合具有特殊含义。它允许使用subscript operator访问集合的元素。

这是MapList的文档:
Map#getAt(key)
List#getAt(index)

由于它被定义为支持某种语法糖,因此您实际上并没有直接调用它,因为它使您可以执行以下操作:

Map foo = [bar: 'baz']
assert foo['bar'] == 'baz'

在特定情况下,使用params,您只需使用:
params['n']

...以利用getAt()。或者,您可以使用:
params.n
// or
params.get('n')

10-06 04:42