java8 Map中的 默认 value

Map.getOrDefault(Object, V)

类似 Python 中的 collections.defaultdict

Map的新方法getOrDefault(Object,V)允许调用者在代码语句中规定获得在map中符合提供的键的值,否则在没有找到提供的键的匹配项的时候返回一个“默认值”。

下一段代码列举对比了如何在JDK8之前检查一个map中匹配提供键的值是否找到,没找到匹配项就使用一个默认值是如何实现的,并且现在在JDK8中是如何实现的。

/* * 示范Map.getOrDefault方法并和JDK8之前的实现方法做对比。JDK8 * 中新增的Map.getOrDefault方法相比于传统的实现方法,所用的代码行数更少 * 并且允许用一个final类型的变量来接收返回值。 */ // JDK8之前的实现方法 String capitalGeorgia = statesAndCapitals.get("Georgia"); if (capitalGeorgia == null) { capitalGeorgia = "Unknown"; } // JDK8的实现方法 final String capitalWisconsin = statesAndCapitals.getOrDefault("Wisconsin", "Unknown"); 

在Apache Commons包的DefaultedMap类提供了和新的Map.getOrDefault(Object, V)方法类似的功能。Groovy GDK中为Groovy包含了一个类似的方法,Map.get(Object,Object),但是这个方法的行为有一点不同,因为它不仅仅在“键”没找到的时候返回提供的默认值,而且还会将键和默认值增加到调用的map中。

    原文作者:早起的鸟儿有虫吃h
    原文地址: https://blog.csdn.net/u013383813/article/details/82967798
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞