src/share/classes/java/util/concurrent/ConcurrentMap.java

Print this page
rev 8834 : 8029055: Map.merge implementations should refuse null value param
Reviewed-by: duke

*** 461,482 **** /** * {@inheritDoc} * * @implSpec ! * The default implementation is equivalent to performing the ! * following steps for this {@code map}, then returning the ! * current value or {@code null} if absent: * * <pre> {@code * V oldValue = map.get(key); * V newValue = (oldValue == null) ? value : * remappingFunction.apply(oldValue, value); * if (newValue == null) * map.remove(key); - * else if (oldValue == null) - * map.remove(key); * else * map.put(key, newValue); * }</pre> * * <p>The default implementation may retry these steps when multiple --- 461,480 ---- /** * {@inheritDoc} * * @implSpec ! * The default implementation is equivalent to performing the following ! * steps for this {@code map}, then returning the current value or ! * {@code null} if absent: * * <pre> {@code * V oldValue = map.get(key); * V newValue = (oldValue == null) ? value : * remappingFunction.apply(oldValue, value); * if (newValue == null) * map.remove(key); * else * map.put(key, newValue); * }</pre> * * <p>The default implementation may retry these steps when multiple