Java Map.getOrDefault方法详解
作者:喻师傅
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); // 1 int valueC = map.getOrDefault("c", 0); // 0
在上述示例中,我们首先创建了一个HashMap对象,并向其中添加了两个键值对。然后,使用getOrDefault
方法,分别获取了键"a"和键"c"对应的值,由于键"a"存在,因此返回其对应的值1;而键"c"不存在,因此返回默认值0。
需要注意的是,如果我们设置的默认值不是Map中存储的值的类型,则会抛ClassCastException异常。
因此,在实际使用时,建议将默认值设置为与Map中存储的值类型相同的值。
补充:
Java中map.getOrDefault()方法的使用
Map.getOrDefault(Object key, V defaultValue)方法的作用是:
当Map集合中有这个key时,就使用这个key值;
如果没有就使用默认值defaultValue。
代码示例如下:
HashMap<String, String> map = new HashMap<>(); map.put("name", "cookie"); map.put("age", "18"); map.put("sex", "女"); String name = map.getOrDefault("name", "random"); System.out.println(name);// cookie,map中存在name,获得name对应的value int score = map.getOrDefault("score", 80); System.out.println(score);// 80,map中不存在score,使用默认值80
到此这篇关于Java Map.getOrDefault方法详解的文章就介绍到这了,更多相关Java Map.getOrDefault方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!