java - 如何从 Java 中的 Map <String, String[] > 获取字符串值?

标签 java collections dictionary

基本上,我有一个 Map<String, String[] >其中包含一堆带有键的字符串。如果我这样做String value = myMap.get("keyName"); ,这将返回 Object而不是字符串,并且回显它会产生如下所示的内容: Ljava.lang.String;@1dfa166 。做toString()也没有帮助。

我需要做什么才能获取字符串值:

我的代码如下所示:

String value ="" + request().body().asFormUrlEncoded().get("keyName");

这里是asFormUrlEncoded()方法返回 Map

最佳答案

您将返回一个字符串数组(声明的通用 Map 的第二个参数)。

更改为

String[]values = myMap.get("keyName");

并检查values.length以查看数组中有多少个字符串。如果只有一个,您可以将其作为 values[0] 访问。

它允许使用字符串数组的原因是表单中的每个键可以有多个值,因此它不能返回单个字符串。

关于java - 如何从 Java 中的 Map <String, String[] > 获取字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14658416/

相关文章:

java - 使用 Package 限制 Autowiring 组件的集合

javascript - 特殊字符显示在由 AWS 构建的 Python Dict 中,并通过 django View 传递给 js

python - 向字典添加键和值

python - 将嵌套的字典列表转换为 pandas DataFrame

java - 将 Spring 3.1 与 RequestMappingHandlerAdapter 一起使用时出现默认构造函数错误

java - Spark模式rdd到RDD

java - 当 JVM 停止线程时,为 java 用户线程调用清理方法

java - Eclipse - Swing WindowBuilder 在 JList<E> 代码解析上出现错误

javascript - 集合 item() 与数组 []

java - 添加具有相同日期的 ArrayList 值