根据键名从 HashMap 获取字符串值

新手上路,请多包涵

我有一个 HashMap 有各种键和值,我怎样才能得到一个值?

我在地图中有一个名为 my_code 的键,它应该包含一个字符串,我怎样才能得到它而不必遍历地图?

到目前为止我有..

    HashMap newMap = new HashMap(paramMap);
   String s = newMap.get("my_code").toString();

我期待看到一个 String ,例如“ABC”或“DEF”,因为这是我最初放在那里的内容,但如果我做一个 System.out.println() 我得到类似的东西 java.lang.string#F0454

抱歉,我对地图不是很熟悉,您可能已经猜到了 ;)

原文由 Jimmy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 366
2 个回答

只需使用 Map#get(key) 吗?

 Object value = map.get(myCode);

这是一个关于地图的教程,您可能会发现它很有用: https ://docs.oracle.com/javase/tutorial/collections/interfaces/map.html。

编辑: 您使用以下内容编辑了您的问题:

我期待看到一个字符串,例如“ABC”或“DEF”,因为这是我最初放在那里的内容,但是如果我执行 System.out.println(),我会得到类似 java.lang.string# 的内容F0454

抱歉,我对地图不是很熟悉,您可能已经猜到了 ;)

您将看到 Object#toString() 的结果。但是 java.lang.String 应该已经实现了一个,除非你创建了一个小写的 自定义 实现 s 在名称中: java.lang.string 。如果它实际上是一个自定义对象,那么您需要覆盖 Object#toString() 以获得“人类可读字符串”,无论何时您在所需的 System.out.println()toString() 目的。例如:

 @Override
public String toString() {
    return "This is Object X with a property value " + value;
}

原文由 BalusC 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您将键/值存储为字符串,那么这将起作用:

 HashMap<String, String> newMap = new HashMap<String, String>();
newMap.put("my_code", "shhh_secret");
String value = newMap.get("my_code");

问题是在 HashMap 中填充了什么(键和值)

原文由 jeff porter 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题