Java——Map.getOrDefault方法详解
Map.getOrDefault(Object key, V defaultValue)
是Java中Map接口的一个方法,用于获取指定键对应的值,如果键不存在,则返回一个默认值。
该方法的签名如下:
V getOrDefault(Object key, V defaultValue)
其中,key表示要查找的键,defaultValue表示如果键不存在时返回的默认值,V表示Map中存储的值的类型。
使用getOrDefault
方法,我们可以避免在获取Map中的值时出现NullPointerException异常。这是因为当Map中不存在指定的键时,get方法返回null,而如果我们直接使用get方法获取值并尝试对其进行操作,就会抛出NullPointerException异常。而使用getOrDefault
方法,即使键不存在,也会返回一个默认值,从而避免了这种异常的发生。
示例代码:
Map<String, Integer> map = new HashMap<>();map.put("a", 1);map.put("b", 2);int valueA = map.getOrDefault("a", 0); // 1int valueC = map.getOrDefault("c", 0); // 0
在上述示例中,我们首先创建了一个HashMap对象,并向其中添加了两个键值对。然后,使用getOrDefault
方法,分别获取了键”a”和键”c”对应的值,由于键”a”存在,因此返回其对应的值1;而键”c”不存在,因此返回默认值0。
需要注意的是,如果我们设置的默认值不是Map中存储的值的类型,则会抛ClassCastException异常。
因此,在实际使用时,建议将默认值设置为与Map中存储的值类型相同的值。