这是我的一段代码.
def http = [100 : 'CONTINUE',200 : 'OK',400 : 'BAD REQUEST']
def listset = http.keySet()
log.info listset[0]
Run Code Online (Sandbox Code Playgroud)
我希望在这里,作为listset[0]= 100.
但是......
groovy.lang.MissingMethodException:
No signature of method: java.util.HashMap$KeySet.getAt()
is applicable for argument types: (java.lang.Integer) values: [0]
Possible solutions: getAt(java.lang.String), getAt(java.lang.String), putAt(java.lang.String, java.lang.Object), wait(), toSet(), sort() error at line: 32
Run Code Online (Sandbox Code Playgroud)
这有什么不对.. ??
错误消息是全部:您调用的方法listset.getAt()未实现.
您可以通过将集转换为数组或列表来解决此问题,例如:
listset.toList()[0]或listset.toArray()[0].
这就是说我不确定这样做是否有意义,因为set不能保证定义中元素的顺序.如果需要处理地图的所有键,请改用迭代器.