jdk8中Map新增了一个方法:getOrDefault;
之前我们少不了下面的写法
Map<String,Integer> dataMap = initDataMap();
int age;
if(dataMap.containsKey("xiaoming")) {
age = dataMap.get("xiaoming");
} else {
age = 20;
}
return age;
在jdk8以后。这个写法可以简化成下面这种
Map<String,Integer> dataMap = initDataMap();
retrun dataMap.getOrDefault("xiaoming",20);
其源码如下
default V getOrDefault(Object key, V defaultValue) {
V v;
return (((v = get(key)) != null) || containsKey(key))
? v
: defaultValue;
}