这是我的一段代码。
def http = [100 : 'CONTINUE',200 : 'OK',400 : 'BAD REQUEST']
def listset = http.keySet()
log.info listset[0]
我希望在这里,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
这有什么问题.. ??
答案 0 :(得分:6)
错误消息是全部:您正在调用的方法listset.getAt()
未实现。
您可以通过将集转换为数组或列表来解决此问题,例如:
listset.toList()[0]
或listset.toArray()[0]
。
那说我不确定这样做是否有意义,因为set不能保证定义中元素的顺序。如果需要处理地图的所有键,请改用迭代器。