【发布时间】:2019-05-08 21:07:46
【问题描述】:
我有一个 java Map<String,Object>,我正在使用 groovy 的魔法访问它
myMap.property1.nestedProperty1.nestedNestedProperty
这太棒了,我知道我可以像这样安全地导航:
myMap?.property1?.nestedProperty1?.nestedNestedProperty
但是,当我遍历一个巨大的分层嵌套地图时,记住始终安全导航会变得乏味。
我认为 groovy 通过使用 invokeMethod 覆盖来实现嵌套图导航。
对于我来说,在默认情况下修改该行为以安全导航而无需每次都执行?. 的推荐/最佳方法是什么?
我打算只覆盖我的地图对象metaClass.invokeMethod,而不是第一类。
PS:我一直在徒劳地搜索 groovy 源代码。有人还可以指出 groovy 在 Java Map 实现中究竟在哪里实现了这个功能?
【问题讨论】: