首页 > 解决方案 > 是否可以在哈希表 Java 中添加没有值的键?

问题描述

我正在尝试使用 Java 的 Junit 测试。我的目标是创建一个哈希表

Hashtable< String , Hashtable<String,String> > student = 
    new Hashtable<String, Hashtable<String, String>>(); 

接下来,我首先只想添加密钥。之后,当我有值时,将其添加到哈希表中的键中。

例子

student.put("student1",null) ;

我尝试使用 null,但在测试过程中我得到了

java.lang.NullPointerException

不可能吗?关于如何只添加没有价值的键的任何想法?

标签: javaunit-testingjunithashtable

解决方案


是否可以在哈希表 Java 中添加没有值的键?

简短的回答:没有

为什么?

因为如果它会抛出异常

 * @exception  NullPointerException  if the key or value is
 *               <code>null</code>

并且在同一个源代码中有一个验证

 public synchronized V put(K key, V value) {
        // Make sure the value is not null
        if (value == null) {
            throw new NullPointerException();
        }
...

您可以改用地图。


推荐阅读