gpt4 book ai didi

java - 在java中访问哈希值来创建对象

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

我从这样的URL获取参数

http://localhost:8080/Server/file?fileid=34&userid=admin&token=rdfcgvhb34567DFGHJK&firstname=alex&lastname=ozouf&age=33&firstname=kevin&lastname=gerfild&age=27

我通过 @QueryParam(fileid) 获取了 fieid、userid 和 token 值...然后我不知道URL中有多少参数,所以我通过

获取剩下的值
@Context UriInfo uriInfo
String query = uriInfo.getRequestUri().getQuery().toLowerCase();
final Map<String, List<String>> query_pairs = new LinkedHashMap<String, List<String>>();
final String[] pairs = query.split("&");
for (String pair : pairs) {
final int idx = pair.indexOf("=");
final String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair;
if (!query_pairs.containsKey(key)) {
query_pairs.put(key, new LinkedList<String>());
}
final String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), "UTF-8") : null;
query_pairs.get(key).add(value);

}
System.out.println(query_pairs);

这就是结果的样子

{fileid=[34], userid=[admin], token=[rdfcgvhb34567dfghjk], firstname=[alex, kevin], lastname=[ozouf, gerfild], age=[33, 27]}

我已经有了 fileid、userid、toekn 参数。现在我想创建一个包含其余参数实例的数组。我有一个 Person 类,它有名字、姓氏和年龄作为属性。我想做一些类似的事情

List<Person> l = new ArrayList<>();
for (i=0, **every item in query_pairs**)
l.add(new Person(firstname[i], lastname[i], age[i]));

如何获取“query_pairs 中的每个项目”以及如何访问诸如名字[i]之类的值?

最佳答案

它会是这样的:

for (i=0; i < query_pairs.get("firstname").size(); i++) {

l.add(new Person(query_pairs.get("firstname").get(i), query_pairs.get("lasttname").get(i), query_pairs.get("age").get(i));

}

关于java - 在java中访问哈希值来创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36872076/

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