如何从HashMap <String,String>中删除"Null"键?

3 java hashmap

根据Java,HashMap允许Null作为关键.我的客户说

HashMap仅使用,不像HashTable,ConcurrentHashMap等其他编写逻辑,以便HashMap Null在我的整体产品逻辑中不包含Key.

我有一些选择

  1. 创建HashMap的包装类并在任何地方使用它.

    import java.util.HashMap;
    
    public class WHashMap<T, K> extends HashMap<T, K> {
        @Override
        public K put(T key, K value) {
            // TODO Auto-generated method stub
            if (key != null) {
                return super.put(key, value);
            }
            return null;
        }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我建议另一个选项,如手动删除空键或不允许每个.也不允许重复相同的操作.

  3. 让我知道..如果我错过了任何其他更好的方法?

  4. Null仅使用符合java标准的HashMap .

让我知道处理此类案件的好方法是什么?

Job*_*eph 5

更改put方法实现如下

        @Override
        public K put(T key, K value) {
            // TODO Auto-generated method stub
            if (key == null) {
              throw new NullPointerException("Key must not be null.");
            }
            return super.put(key, value);
        }
Run Code Online (Sandbox Code Playgroud)