这是源码,意思就是当Map集合中有这个key时,就使用这个key值,如果没有就使用默认值defaultValue
default V getOrDefault(Object key, V defaultValue) {
V v;
return (((v = get(key)) != null) || containsKey(key))
? v
: defaultValue;
}
下面就具体的栗子,再说明一下:
public class TestMapMethod {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("name", "tom");
map.put("age", "25");
map.put("sex", "男");
//结果:tom,map中存在name,获得name对应的value
System.out.println(map.getOrDefault("name", "张三"));
//结果:南京,map中不存在address,使用默认值“南京”
System.out.println(map.getOrDefault("address", "南京"));
}
}