作者:otion | 来源:互联网 | 2022-12-08 10:05
1> Lino says Re..:
你可以使用流:
String result = map.entrySet().stream()
.map(e -> e.getKey() + "=" + e.getValue())
.collect(Collectors.joining("&"));
注意:您应该使用url编码.首先创建一个这样的辅助方法:
public static String encode(String s){
try{
return java.net.URLEncoder.encode(s, "UTF-8");
} catch(UnsupportedEncodingException e){
throw new IllegalStateException(e);
}
}
然后在流中使用它来编码键和值:
String result = map.entrySet().stream()
.map(e -> encode(e.getKey()) + "=" + encode(e.getValue()))
.collect(Collectors.joining("&"));