我编写了以下代码: String reqParams = null; Map<String, String[]> params = request.getParameterMap(); for (Object key : params.keySet()) { String keyStr = (String) key; String[] value = params.get(keyStr); reqParams = reqParams + ((String) key + "=" + Arrays.toString(value) + " "); } System.out.println(reqParams);我有以下输出: nullorderId=[01] orderStatus=[delivered]我怎样才能摆脱null一开始的打印?是否可以避免 [ ] 打印?我如何使用流来做到这一点?
3 回答
![?](http://img1.sycdn.imooc.com/533e4d5b0001d57502200203-100-100.jpg)
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
您可以使用类的join方法String将数组转换为字符串,避免[ ]字符。此外,如果您使用Map.Entry类型参数并遍历条目集而不是键集,则不需要原始代码中的所有强制转换和额外括号。
for( Map.Entry<String,String[]> entry : params.entrySet()) {
reqParams = reqParams + entry.getKey() + "=" + String.join(",", entry.getValue()) + " ";
}
所以在这里,join获取您的数组并用逗号分隔所有元素。
最后,如果您初始化reqParams为""而不是null,则null不会打印该单词。
String reqParams = "";
添加回答
举报
0/150
提交
取消