map中get不存在的key,返回为null
如果我们要取map中的key值,而这个key值不存在的话,系统并不会报错,而是返回null,并不是空字符串"",这两者是有区别的。
但是我们要对这个null取其他的操作就会报错。
所以当我们map取值的时候,要进行null值的判断。
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.