gpt4 book ai didi

java - 为什么参数值是对象哈希码 `request.getParameterMap().get(name)`

转载 作者:行者123 更新时间:2023-12-02 07:53:59 24 4
gpt4 key购买 nike

为什么参数值是Object哈希码:

input_name:[[Ljava.lang.String;@3f4d64]

我认为代码 request.getParameterMap().get(name); 会生成请求参数的值:

    Enumeration params = request.getParameterNames();
while(params.hasMoreElements())
{
String name = (String)params.nextElement();
String value = request.getParameterMap().get(name);
logger.log(name + ": " + value);
}

最佳答案

因为它返回一个String[],而不是StringgetParameterMap() 的 javadoc还告诉我们:

Returns:

an immutable java.util.Map containing parameter names as keys and parameter values as map values. The keys in the parameter map are of type String. The values in the parameter map are of type String array.

所以你需要将它视为一个数组。如果您想获取单个(第一个)参数值,请使用 request.getParameter()反而。这是重写:

for (String name : Collections.<String>list(request.getParameterNames())) {
String value = request.getParameter(name);
logger.log(name + ": " + value);
}

或者,如果您确实想检查所有可能的参数值,则只需迭代 map 的条目集即可:

Map<String, String[]> map = request.getParameterMap();
for (Entry<String, String[]> entry : map.entrySet()) {
String name = entry.getKey();
String[] values = entry.getValue();
logger.log(name + ": " + Arrays.toString(values));
}

关于java - 为什么参数值是对象哈希码 `request.getParameterMap().get(name)`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3769259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com