我很困惑......
我有这个方法可以从 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/