您好,登錄后才能下訂單哦!
本篇文章為大家展示了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值會不會拋出異常,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。