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中的值時出現(xiàn)NullPointerException異常。這是因為當Map中不存在指定的鍵時,get方法返回null,而如果我們直接使用get方法獲取值并嘗試對其進行操作,就會拋出NullPointerException異常。而使用getOrDefault方法,即使鍵不存在,也會返回一個默認值,從而避免了這種異常的發(fā)生。
示例代碼:
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在上述示例中,我們首先創(chuàng)建了一個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方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決springboot configuration processor對maven子模塊不起作用的問題
這篇文章主要介紹了解決springboot configuration processor對maven子模塊不起作用的問題,本文通過圖文實例代碼給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
Spring?Security短信驗證碼實現(xiàn)詳解
本文主要介紹了Spring?Security短信驗證碼的實現(xiàn)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-11-11
springBoot+dubbo+zookeeper實現(xiàn)分布式開發(fā)應用的項目實踐
本文主要介紹了springBoot+dubbo+zookeeper實現(xiàn)分布式開發(fā)應用的項目實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
Java調用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果
在Web開發(fā)中,有時我們需要將文件以流的形式返回給前端,下面這篇文章主要給大家介紹了關于Java調用SSE流式接口并流式返回給前端實現(xiàn)打字輸出效果的相關資料,需要的朋友可以參考下2024-08-08
Java中的SynchronousQueue阻塞隊列使用代碼實例
這篇文章主要介紹了Java中的SynchronousQueue阻塞隊列使用代碼實例,SynchronousQueue是無緩沖區(qū)的阻塞隊列,即不能直接向隊列中添加數(shù)據,會報隊列滿異常,需要的朋友可以參考下2023-12-12

