public class NonNullTreeMap<K,V> extends TreeMap<K,V> {
@Override
public V put(K k, V v) {
if (v == null) {
throw new NullPointerException("value is null");
}
return super.put(k,v);
}
}
Вы также можете выдать IllegalArgumentException, но NullPointerException является наиболее подходящим IMO.
Обратите внимание, что неправильно возвращать null
вместо выдачи исключения. API java.util.Map
утверждает, что результатом операции put
является предыдущее значение сопоставления для k
или null
, если k
не было ранее сопоставлено.