我想浅复制脚本中的地图,以便我可以更新其键之一。一种方法是使用扩展运算符。但是,我的脚本在 Jenkins 管道中运行,其中根据公司政策不允许使用扩展运算符。
我尝试使用
clone()
方法,该方法有效,但 Intellij 中出现警告“对‘克隆’的访问超出了其访问权限”。部分原因是地图对象是从 Jenkins readJSON
方法创建的,该方法可能返回类似地图的对象,并且 clone()
方法可能无法实现。
除了扩展运算符之外,还有什么更惯用的浅复制映射方法?
您可以使用
collectEntries(Closure.IDENTITY)
- 地图没有无参数版本,您必须传递某个版本的identity-fn