Useless null check in HashMap.merge()
Zheka Kozlov
orionllmain at gmail.com
Wed Jul 4 09:42:05 UTC 2018
I noticed dead code in java.util.HashMap.merge():
public V merge(K key, V value,
BiFunction<? super V, ? super V, ? extends V>
remappingFunction) {
if (value == null)
throw new NullPointerException();
...
if (value != null) { *// Condition ' value != null' is always true*
if (t != null)
t.putTreeVal(this, tab, hash, key, value);
else {
tab[i] = newNode(hash, key, value, first);
if (binCount >= TREEIFY_THRESHOLD - 1)
treeifyBin(tab, hash);
}
++modCount;
++size;
afterNodeInsertion(true);
}
return value;
}
The code in the if branch will never be executed because `value` was
previously checked at the beginning of the method.
Is this a mistake?
More information about the core-libs-dev
mailing list