Java:Treemap - 禁止null?

Nic*_*ner 4 java null treemap

有没有办法阻止树图接受空值,或者每次输入内容时是否需要进行检查?

Ste*_*n C 10

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

您也可以抛出IllegalArgumentException,但NullPointerException是最合适的IMO.

请注意,返回而不是抛出异常是不正确null的.该java.util.MapAPI指出的结果put操作是用于映射的前一值k,或者null如果k以前未映射的.