如何以最符合Groovy语法习惯的方式创建Map.Entry实例
Groovy风格创建Map.Entry实例的方案
Groovy从2.5版本开始内置了GDK专属的Map.entry()静态方法,是目前最符合Groovy语法风格的实现,代码简洁且语义明确:
def entry = Map.entry('foo', 'bar')
这个方案的优势非常明显:
- 不需要依赖JDK的
AbstractMap类,也不需要做强制类型转换 - 不需要先实例化完整的Map对象再提取Entry,没有额外的性能开销
- 生成的是不可变Entry实例,符合日常多数场景下的使用需求
如果你使用的是2.5以下的Groovy版本,也可以用GDK为Map扩展的firstEntry()方法优化原有写法,比直接调用entrySet()[0]可读性更高:
def entry = [foo: 'bar'].firstEntry()
如果需要创建可变的Entry实例,也可以用Groovy的类型转换语法简化写法,比直接引用AbstractMap.SimpleEntry更简洁:
def entry = ['foo', 'bar'] as Map.Entry
内容的提问来源于stack exchange,提问作者bdkosher
相关产品推荐
相关产品推荐

