jdk8中Map新增了一个方法:getOrDefault;code
以前咱们少不了下面的写法get
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);
其源码以下it
default V getOrDefault(Object key, V defaultValue) { V v; return (((v = get(key)) != null) || containsKey(key)) ? v : defaultValue; }