gpt4 book ai didi

java - 如何从 HashMap 中删除 “Null” 键?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:06:56 26 4
gpt4 key购买 nike

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

Use HashMap only, Not other like HashTable,ConcurrentHashMap etc. write logic such a way that HashMap don't contains Null as Key in my overall product logic.

我有一个选项,比如

  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;
    }

    }
  2. 我建议了另一个选项,例如手动删除空键或不允许在每个选项中都使用它。同样的操作重复也是不允许的。

  3. 如果我错过了任何其他更好的方法,请告诉我?

  4. 仅按照 java 标准将 HashMap 与 Null 一起使用。

让我知道处理这种情况的好方法是什么?

最佳答案

如下更改您的 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);
}

关于java - 如何从 HashMap<String, String> 中删除 “Null” 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41216449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com