【问题标题】:Return from HashMap<String, String> when no key无键时从 HashMap<String, String> 返回
【发布时间】:2011-03-07 14:04:46
【问题描述】:

当我调用 map.get("key") 并且我在 HashMap 中没有带有键“key”的条目时,HashMap&lt;String,String&gt; 会返回什么?

【问题讨论】:

标签: java


【解决方案1】:

它返回null。它写在documentation

返回: 指定键映射到的值,如果此映射不包含该键的映射,则为 null

当您有这样一个具体问题时,首先要做的是查阅文档。 Java API 的文档很好,可以告诉您返回的内容、抛出的异常以及每个参数的含义。

【讨论】:

    【解决方案2】:

    你可以:

    检查您的 IDE

    Map<String, String> map = new HashMap<String, String>();
    map.put("foo", "fooValue");
    System.out.println(map.get("bar")); // null
    

    检查documentation - HashMap get() 方法说明:

    返回值 指定的键被映射,如果是 null 此地图不包含 键。

    【讨论】:

    • 再次 HashMap 在标准 java 库中是不可能的,除非你已经创建了自己的 HashMap,它应该有两个类型参数,比如 Map map = new HashMap() 或类似的东西。
    【解决方案3】:

    小心 - 如果您使用

    对其进行初始化
    Map.of(key, val, key, val)
    

    然后做一个

    get('key-that-isnt-there') 
    

    然后你会得到一个空指针异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-20
      • 2013-05-27
      • 2020-11-05
      • 2016-11-06
      • 2021-11-13
      • 2018-08-11
      • 2018-01-05
      • 1970-01-01
      相关资源
      最近更新 更多