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; }