亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java Map.getOrDefault方法詳解

 更新時(shí)間:2024年01月02日 10:04:01   作者:喻師傅  
Map.getOrDefault(Object key, V defaultValue)是Java中Map接口的一個(gè)方法,用于獲取指定鍵對(duì)應(yīng)的值,如果鍵不存在,則返回一個(gè)默認(rèn)值,這篇文章主要介紹了Java Map.getOrDefault方法詳解,需要的朋友可以參考下

Java——Map.getOrDefault方法詳解

Map.getOrDefault(Object key, V defaultValue)是Java中Map接口的一個(gè)方法,用于獲取指定鍵對(duì)應(yīng)的值,如果鍵不存在,則返回一個(gè)默認(rèn)值。
該方法的簽名如下:

V getOrDefault(Object key, V defaultValue)

其中,key表示要查找的鍵,defaultValue表示如果鍵不存在時(shí)返回的默認(rèn)值,V表示Map中存儲(chǔ)的值的類型。

使用getOrDefault方法,我們可以避免在獲取Map中的值時(shí)出現(xiàn)NullPointerException異常。這是因?yàn)楫?dāng)Map中不存在指定的鍵時(shí),get方法返回null,而如果我們直接使用get方法獲取值并嘗試對(duì)其進(jìn)行操作,就會(huì)拋出NullPointerException異常。而使用getOrDefault方法,即使鍵不存在,也會(huì)返回一個(gè)默認(rèn)值,從而避免了這種異常的發(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)建了一個(gè)HashMap對(duì)象,并向其中添加了兩個(gè)鍵值對(duì)。然后,使用getOrDefault方法,分別獲取了鍵"a"和鍵"c"對(duì)應(yīng)的值,由于鍵"a"存在,因此返回其對(duì)應(yīng)的值1;而鍵"c"不存在,因此返回默認(rèn)值0。

需要注意的是,如果我們?cè)O(shè)置的默認(rèn)值不是Map中存儲(chǔ)的值的類型,則會(huì)拋ClassCastException異常。
因此,在實(shí)際使用時(shí),建議將默認(rèn)值設(shè)置為與Map中存儲(chǔ)的值類型相同的值。

補(bǔ)充:

Java中map.getOrDefault()方法的使用

Map.getOrDefault(Object key, V defaultValue)方法的作用是:
當(dāng)Map集合中有這個(gè)key時(shí),就使用這個(gè)key值;
如果沒有就使用默認(rèn)值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對(duì)應(yīng)的value
    int score = map.getOrDefault("score", 80);
    System.out.println(score);// 80,map中不存在score,使用默認(rèn)值80

到此這篇關(guān)于Java Map.getOrDefault方法詳解的文章就介紹到這了,更多相關(guān)Java Map.getOrDefault方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • 解決springboot configuration processor對(duì)maven子模塊不起作用的問題

    解決springboot configuration processor對(duì)maven子模塊不起作用的問題

    這篇文章主要介紹了解決springboot configuration processor對(duì)maven子模塊不起作用的問題,本文通過圖文實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Java序列化常見實(shí)現(xiàn)方法代碼實(shí)例

    Java序列化常見實(shí)現(xiàn)方法代碼實(shí)例

    這篇文章主要介紹了Java序列化常見實(shí)現(xiàn)方法代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 詳解mybatis generator代碼生成器的使用

    詳解mybatis generator代碼生成器的使用

    MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代碼生成器。這篇文章主要介紹了mybatis generator代碼生成器的使用,需要的朋友可以參考下
    2021-09-09
  • Spring?Security短信驗(yàn)證碼實(shí)現(xiàn)詳解

    Spring?Security短信驗(yàn)證碼實(shí)現(xiàn)詳解

    本文主要介紹了Spring?Security短信驗(yàn)證碼的實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • Spring AOP使用接口方式實(shí)現(xiàn)

    Spring AOP使用接口方式實(shí)現(xiàn)

    本文主要介紹了Spring AOP使用接口方式實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • springBoot+dubbo+zookeeper實(shí)現(xiàn)分布式開發(fā)應(yīng)用的項(xiàng)目實(shí)踐

    springBoot+dubbo+zookeeper實(shí)現(xiàn)分布式開發(fā)應(yīng)用的項(xiàng)目實(shí)踐

    本文主要介紹了springBoot+dubbo+zookeeper實(shí)現(xiàn)分布式開發(fā)應(yīng)用的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 快速上手Mybatis-plus結(jié)構(gòu)構(gòu)建過程

    快速上手Mybatis-plus結(jié)構(gòu)構(gòu)建過程

    這篇文章主要介紹了快速上手Mybatis-plus結(jié)構(gòu)構(gòu)建過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 深入學(xué)習(xí) Java 中的 Lambda

    深入學(xué)習(xí) Java 中的 Lambda

    Lambda表達(dá)式是Java SE 8中一個(gè)重要的新特性。lambda表達(dá)式允許你通過表達(dá)式來代替功能接口。 lambda表達(dá)式就和方法一樣,它提供了一個(gè)正常的參數(shù)列表和一個(gè)使用這些參數(shù)的主體(body,可以是一個(gè)表達(dá)式或一個(gè)代碼塊)。,需要的朋友可以參考下
    2019-06-06
  • Java調(diào)用SSE流式接口并流式返回給前端實(shí)現(xiàn)打字輸出效果

    Java調(diào)用SSE流式接口并流式返回給前端實(shí)現(xiàn)打字輸出效果

    在Web開發(fā)中,有時(shí)我們需要將文件以流的形式返回給前端,下面這篇文章主要給大家介紹了關(guān)于Java調(diào)用SSE流式接口并流式返回給前端實(shí)現(xiàn)打字輸出效果的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Java中的SynchronousQueue阻塞隊(duì)列使用代碼實(shí)例

    Java中的SynchronousQueue阻塞隊(duì)列使用代碼實(shí)例

    這篇文章主要介紹了Java中的SynchronousQueue阻塞隊(duì)列使用代碼實(shí)例,SynchronousQueue是無緩沖區(qū)的阻塞隊(duì)列,即不能直接向隊(duì)列中添加數(shù)據(jù),會(huì)報(bào)隊(duì)列滿異常,需要的朋友可以參考下
    2023-12-12

最新評(píng)論