gpt4 book ai didi

Java - 循环LinkedhashMap并获取值

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

我有以下 LinkedHashMap,其中我按以下方式放置值:

if (preAuthorizeAnnotation != null) {
requestMappingValues = requestMappingAnnotation.value(); // to get the url value
RequestMethod[] methods = requestMappingAnnotation.method(); // to get the request method type
System.out.println(+i + ":Method : " + method2.getName() + " is secured ");
//System.out.println("Requestion method type : "+methods[0].name());
Class[] parameterTypes = method2.getParameterTypes();
for (Class class1: parameterTypes) {
userDefinedParams = new UserDefinedParams();
strClassNameToFix = class1.getName();
strClassname = strClassNameToFix.replaceAll("\\[L", "").replaceAll("\\;", "");
if (class1.isArray()) {

//classObj = strClassnames.substring(strClassnames.lastIndexOf('.')+1, strClassnames.length()-1);
userDefinedParams.setDataType(strClassname);
userDefinedParams.setIsArray("Y");
paramsList.add(userDefinedParams);
} else if (class1.isPrimitive() && class1.isArray()) {
userDefinedParams.setDataType(strClassname);
userDefinedParams.setIsArray("Y");
paramsList.add(userDefinedParams);
} else {
userDefinedParams.setDataType(strClassname);
userDefinedParams.setIsArray("N");
paramsList.add(userDefinedParams);
}
System.out.println("strClassname : " + strClassname);
}
paramsMap.put("url_" + i, requestMappingValues[0]);
paramsMap.put("params_" + i, paramsList);

我尝试像下面这样循环遍历 map :

for (Object key: paramsMap.keySet()) {
uri = "http://localhost:8080/api" + paramsMap.get(key);
statusCode = httpRequest.handleHTTPRequest(client, uri);
System.out.println("Statuscode : " + statusCode);
}

我得到以下异常:

java.lang.IllegalArgumentException

因为它第一次正确获取 url 但错过了 params

我想要将 url 和 paramList 分开,以便我可以处理它。

我正在尝试获取 url 和该 url 的相应参数列表,并将 paramList 转换回用户定义的值以及用于进一步处理的值。

最佳答案

最好的解决方案可能是有 2 个单独的映射:一个用于 url,另一个用于参数。

<小时/>

但是,您似乎不需要 map ,因为您仅将它们用作存储网址和参数的列表。因此,您应该考虑使用一个列表作为 url,使用一个列表作为参数,您当前附加到作为映射中键的字符串的 i 将是列表中的索引:

 urls.add(requestMappingValues[0]);
params.add(paramsList);

稍后您只需迭代这些列表即可检索插入的值。

关于Java - 循环LinkedhashMap并获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16211608/

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