欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談Map集合中g(shù)et不存在的key值,會(huì)拋出異常嗎?

 更新時(shí)間:2020年09月22日 11:34:14   作者:只想發(fā)財(cái)  
這篇文章主要介紹了淺談Map集合中g(shù)et不存在的key值,會(huì)拋出異常嗎?具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~

public static void main(String[] args)
{
 Map<String, String> a = new HashMap<String, String>();
 String string = a.get("a111");
 System.out.println(string);
}

在Map集合中,get一個(gè)不存在的值,不會(huì)拋出異常,獲得的返回值為null。

補(bǔ)充知識(shí):map中g(shù)et不存在的key和containsKey方法

在Map集合中,get一個(gè)不存在的值,不會(huì)拋出異常,獲得的返回值為null。

public static void main(String[] args)
{
 Map<String, String> a = new HashMap<String, String>();
 String string = a.get("a111");
 System.out.println(string);
}

Map集合允許值對(duì)象為null,并且沒(méi)有個(gè)數(shù)限制,所以當(dāng)get()方法的返回值為null時(shí),可能有兩種情況,一種是在集合中沒(méi)有該鍵對(duì)象,另一種是該鍵對(duì)象沒(méi)有映射任何值對(duì)象,即值對(duì)象為null。因此,在Map集合中不應(yīng)該利用get()方法來(lái)判斷是否存在某個(gè)鍵,而應(yīng)該利用containsKey()方法來(lái)判斷,例如下面的例子。

下面的代碼首先創(chuàng)建一個(gè)由HashMap類(lèi)實(shí)現(xiàn)的Map集合,并依次向Map集合中添加一個(gè)值對(duì)象為null和“馬先生”的映射;然后分別通過(guò)get()和containsKey()方法執(zhí)行這兩個(gè)鍵對(duì)象;最后執(zhí)行一個(gè)不存在的鍵對(duì)象。關(guān)鍵代碼如下:

import java.util.HashMap;
import java.util.Map;
 
public class TestMapKey {
 public static void main(String[] args) {
 Map<Integer, String> map = new HashMap<Integer, String>();
 map.put(220180, null);
 map.put(220181, "馬先生");
 System.out.println("get()方法的返回結(jié)果:");
 System.out.print("------ " + map.get(220180));
 System.out.print("  " + map.get(220181));
 System.out.println("  " + map.get(220182));
 System.out.println("containsKey()方法的返回結(jié)果:");
 System.out.print("------ " + map.containsKey(220180));
 System.out.print("  " + map.containsKey(220181));
 System.out.println("  " + map.containsKey(220182));
 }
}

執(zhí)行上面的代碼,在控制臺(tái)將輸出如下信息:

get()方法的返回結(jié)果:

------ null 馬先生 null

containsKey()方法的返回結(jié)果:

------ true true false

結(jié)論:Map集合中不應(yīng)該利用get()方法來(lái)判斷是否存在某個(gè)鍵,因?yàn)榭赡躮ap的key值存在但value的值為null

今天被這個(gè)坑了,記錄一下

以上這篇淺談Map集合中g(shù)et不存在的key值,會(huì)拋出異常嗎?就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java構(gòu)造器復(fù)用方式

    java構(gòu)造器復(fù)用方式

    這篇文章主要介紹了java構(gòu)造器復(fù)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 關(guān)于ConditionalOnMissingBean失效問(wèn)題的追蹤

    關(guān)于ConditionalOnMissingBean失效問(wèn)題的追蹤

    這篇文章主要介紹了關(guān)于ConditionalOnMissingBean失效問(wèn)題的追蹤方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java輕松入門(mén)冒泡?選擇?插入?希爾?歸并排序算法

    Java輕松入門(mén)冒泡?選擇?插入?希爾?歸并排序算法

    這篇文章主要介紹了Java常用的排序算法及代碼實(shí)現(xiàn),在Java開(kāi)發(fā)中,對(duì)排序的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時(shí)候能夠有扎實(shí)的基礎(chǔ)能力。那Java有哪些排序算法呢?本文小編就來(lái)詳細(xì)說(shuō)說(shuō)Java常見(jiàn)的排序算法,需要的朋友可以參考一下
    2022-02-02
  • jetty運(yùn)行時(shí)無(wú)法保存文件的解決方法

    jetty運(yùn)行時(shí)無(wú)法保存文件的解決方法

    這篇文章主要為大家詳細(xì)介紹了jetty運(yùn)行時(shí)無(wú)法保存文件的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • MyBatis的CRUD中的不同參數(shù)綁定查詢(xún)實(shí)現(xiàn)

    MyBatis的CRUD中的不同參數(shù)綁定查詢(xún)實(shí)現(xiàn)

    本文主要介紹了MyBatis的CRUD中的不同參數(shù)綁定查詢(xún)實(shí)現(xiàn),主要包括單個(gè)參數(shù)傳遞綁定,序號(hào)參數(shù)傳遞綁定,注解參數(shù)傳遞綁定,pojo(對(duì)象)參數(shù)傳遞綁定,map參數(shù)傳遞綁定這幾種類(lèi)型,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • java使用Validation進(jìn)行數(shù)據(jù)校驗(yàn)的方式總結(jié)

    java使用Validation進(jìn)行數(shù)據(jù)校驗(yàn)的方式總結(jié)

    在Java中提供了一系列的校驗(yàn)方式,下面這篇文章主要給大家介紹了關(guān)于java使用Validation進(jìn)行數(shù)據(jù)校驗(yàn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 詳解SpringBoot上傳圖片到阿里云的OSS對(duì)象存儲(chǔ)中

    詳解SpringBoot上傳圖片到阿里云的OSS對(duì)象存儲(chǔ)中

    這篇文章主要介紹了SpringBoot上傳圖片到阿里云的OSS對(duì)象存儲(chǔ)中,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 基于springboot activiti 配置項(xiàng)解析

    基于springboot activiti 配置項(xiàng)解析

    這篇文章主要介紹了springboot activiti 配置項(xiàng)解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java?實(shí)戰(zhàn)項(xiàng)目之家政服務(wù)平臺(tái)系統(tǒng)的實(shí)現(xiàn)流程

    Java?實(shí)戰(zhàn)項(xiàng)目之家政服務(wù)平臺(tái)系統(tǒng)的實(shí)現(xiàn)流程

    讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)家政服務(wù)平臺(tái)系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • Java tomcat中的類(lèi)加載器和安全機(jī)制你了解嗎

    Java tomcat中的類(lèi)加載器和安全機(jī)制你了解嗎

    這篇文章主要介紹了Tomcat 類(lèi)加載器的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09

最新評(píng)論