JDK8中新增了便利的Map设置默认值方法getOrDefault

实际代码

public List valids(String id) {
    return validMap.getOrDefault(id, Collections.emptyList());
}

方法作用:
如果map中含有指定的key,就返回该key对应的value;否则使用该方法的第二个参数作为默认值返回

对比代码

/*
 * 示范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");

你可能感兴趣的:(Java)