Java中的HashMap提供了getOrDefault()方法。用于获取指定键对应的值,如果键不存在,则返回一个默认值。key表示要查找的键,defaultValue表示如果键不存在时返回的默认值,V表示HashMap中存储的值的类型。
源码:
public V getOrDefault(Object key, V defaultValue) {
Node<K,V> e;
return (e = getNode(key)) == null ? defaultValue : e.value;
}
使用getOrDefault方法,可以避免在获取HashMap中的值时出现NullPointerException异常。
- 因为当HashMap中不存在指定的键时,get方法返回null,而如果我们直接使用get方法获取值并尝试对其进行操作,就会抛出NullPointerException异常。
- 而使用getOrDefault方法,即使键不存在,也会返回一个默认值,从而避免了这种异常的发生。
- 如果我们设置的默认值不是HashMap中存储的值的类型,则会抛ClassCastException异常。
- 因此,在实际使用时,建议将默认值设置为与HashMap中存储的值类型相同的值。