java - map 中的 Ljava.lang.String

标签 java arrays dictionary

我很困惑......

我有这个方法可以从 View 中的 URL 获取参数:

    public static Map<String, String[]> getParameters() {
    final Set<Map.Entry<String,String[]>> entries = request().queryString().entrySet();
    Map <String, String[]> parameters = new HashMap <String, String[]>();

    for (Map.Entry<String,String[]> entry : entries) {
        final String key = entry.getKey();
        String[] value = entry.getValue();
        parameters.put(key, value);
    }

    System.out.println(parameters);
    return parameters;
}

当我打印出参数时,这就是我通常得到的:

{yAxis=[Ljava.lang.String;@4ddf465,

我尝试将值更改为

String value = Arrays.toString(entry.getValue());

然后显示正常:{yAxis=[Choose, Choose]

但是我无法遍历这些值,因为它们都是字符串而不是列表。 我希望将值与键链接在 String[] 中,以便我可以对其进行迭代。当它只是一个字符串时我无法迭代。我确信这是一个简单的问题,但我似乎无法弄清楚。

请帮帮我...

最佳答案

不幸的是,所有数组的 toString() 都默认为 Object 提供的方法,该方法打印类的内部描述和“身份”哈希码。

如果您有String[]在您的目录结构中,您必须自己执行 toString 操作,默认情况下不会执行您想要/期望的操作。解决这个问题的一种方法是使用 List<String>例如ArrayList<String>它将按您的预期打印。

关于java - map 中的 Ljava.lang.String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015010/

相关文章:

java - @Sort 在 Hibernate 中不起作用

java - 如何在页面对象模型类-Java中使用鼠标悬停 Action ?

ios - 如何在 xcode 中解析和分类来自 AlamoFire 的 JSON 响应

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

python - 如何使用 for 循环创建字典列表?

java - 在动态创建的类中实例化 spring bean

java - 从 gRPC 服务中调用时 gRPC 客户端不工作

java - 如何更改数组的每个部分?

arrays - ruby 按长度排序数组,然后按字母顺序排序

swift 4。字典合并