结论:map中调用get时,没有key但是不会报错,会返回null值。这是由源码决定的。
测试用例:
Map<Integer, Integer> map = new HashMap<>();
if(map.get(1)==null){
System.out.println("map没有key但是不会报错");
}
//这段代码输出:map没有key但是不会报错
get()源码:
public V get(Object key) {
Node<K,V> e;
return (e = getNode(hash(key), key)) == null ? null : e.value;
}