中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Map集合中get不存在的key值會不會拋出異常

發布時間:2020-11-02 16:35:37 來源:億速云 閱讀:183 作者:Leah 欄目:開發技術

本篇文章為大家展示了Map集合中get不存在的key值會不會拋出異常,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

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一個不存在的值,不會拋出異常,獲得的返回值為null。

補充知識:map中get不存在的key和containsKey方法

在Map集合中,get一個不存在的值,不會拋出異常,獲得的返回值為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集合允許值對象為null,并且沒有個數限制,所以當get()方法的返回值為null時,可能有兩種情況,一種是在集合中沒有該鍵對象,另一種是該鍵對象沒有映射任何值對象,即值對象為null。因此,在Map集合中不應該利用get()方法來判斷是否存在某個鍵,而應該利用containsKey()方法來判斷,例如下面的例子。

下面的代碼首先創建一個由HashMap類實現的Map集合,并依次向Map集合中添加一個值對象為null和“馬先生”的映射;然后分別通過get()和containsKey()方法執行這兩個鍵對象;最后執行一個不存在的鍵對象。關鍵代碼如下:

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()方法的返回結果:");
 System.out.print("------ " + map.get(220180));
 System.out.print("  " + map.get(220181));
 System.out.println("  " + map.get(220182));
 System.out.println("containsKey()方法的返回結果:");
 System.out.print("------ " + map.containsKey(220180));
 System.out.print("  " + map.containsKey(220181));
 System.out.println("  " + map.containsKey(220182));
 }
}

執行上面的代碼,在控制臺將輸出如下信息:

get()方法的返回結果:

------ null 馬先生 null

containsKey()方法的返回結果:

------ true true false

結論:Map集合中不應該利用get()方法來判斷是否存在某個鍵,因為可能map的key值存在但value的值為null

上述內容就是Map集合中get不存在的key值會不會拋出異常,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深州市| 台北市| 长子县| 秦安县| 陆良县| 柘荣县| 吴旗县| 永宁县| 东至县| 揭西县| 阳泉市| 老河口市| 龙胜| 平泉县| 台前县| 东安县| 普定县| 竹北市| 西和县| 永济市| 阿城市| 沙河市| 新巴尔虎左旗| 分宜县| 兰溪市| 岳阳县| 锡林浩特市| 丹东市| 柞水县| 曲阜市| 河南省| 新河县| 浠水县| 高平市| 周口市| 秦皇岛市| 紫金县| 万荣县| 九寨沟县| 汤原县| 慈溪市|