map中get不存在的key,返回为null
如果我们要取map中的key值,而这个key值不存在的话,系统并不会报错,而是返回null,并不是空字符串"",这两者是有区别的。

但是我们要对这个null取其他的操作就会报错。

所以当我们map取值的时候,要进行null值的判断。

java map 空对象 map为空get会报错吗_取值


map.get(key)传入参数位置是Object,传入任何类型对象都不会报错,但是会返回null:

Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(5, "huo");
    map.put(6, "tian");
    System.out.println(map.get("5")); // return null
Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(5, "huo");
    map.put(6, "tian");
    System.out.println(map.get(5)); // return "huo"

hashMap.get(object)时,首先就判断hashCode 是否相同, int 与 String 的hashCode 必然不同,也就是说get(String) 时,必然会返回null.