为了账号安全,请及时绑定邮箱和手机立即绑定

将 while 循环替换为每个

将 while 循环替换为每个

呼啦一阵风 2023-05-24 17:36:09

如何用 Java 中的每个循环替换下面的 while 循环?


JSONObject postParameters = new JSONObject();

Map parameterMap = httpRequest.getParameterMap();

Iterator<Map.Entry<String, String[]>> it = parameterMap.entrySet().iterator();

while (it.hasNext()) {

    Map.Entry<String, String[]> entry = it.next();

    if(entry.getValue().length == 1){

        postParameters.put(entry.getKey(), entry.getValue()[0].toString());

    }

    else{

        JSONArray valueList = new JSONArray();

        for(String value : entry.getValue()){

            valueList.add(value.toString());

        }

        postParameters.put(entry.getKey(), valueList);

    }

}

基本上我想让它更具可读性。


查看完整描述

2 回答

?
Helenr

TA贡献1627条经验 获得超2个赞

你可以像这样ForEach直接使用entrySet:


JSONObject postParameters = new JSONObject();

Map parameterMap = httpRequest.getParameterMap();

for (Map.Entry<String,String[]> entry : parameterMap.entrySet()){

    if(entry.getValue().length == 1){

        postParameters.put(entry.getKey(), entry.getValue()[0].toString());

    }

    else{

        JSONArray valueList = new JSONArray();

        for(String value : entry.getValue()){

            valueList.add(value.toString());

        }

        postParameters.put(entry.getKey(), valueList);

    }

}


查看完整回答
反对 回复 5天前
?
江户川乱折腾

TA贡献1686条经验 获得超5个赞

JSONObject postParameters = new JSONObject();

Map<String, String[]> parameterMap = httpRequest.getParameterMap();

for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {

    if (entry.getValue().length == 1) {

        postParameters.put(entry.getKey(), entry.getValue()[0]);

    } else {

        JSONArray valueList = new JSONArray();

        for (String value : entry.getValue()) {

            valueList.add(value);

        }

        postParameters.put(entry.getKey(), valueList);

    }

}

就像 Mustahsan 所说的那样,但是你可以摆脱多余的 toString() 方法,并且else可以将最后一个块更改为更短的版本,考虑一次收集整个条目值并将其作为 JSONArray 放入 postParameters 中。


查看完整回答
反对 回复 5天前
  • 2 回答
  • 0 关注
  • 7 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信