首先,需要在你的pom.xml中添加guava依赖
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
</dependencies>
url中传参通常以id=123&name=456,如果name为中文,则需要对其encode转义成utf-8格式.
我们现在写一段代码来测试一下
public class Test {
public static void main(String[] args) {
Map<String, String> map = Maps.newHashMap();
map.put("id", "123");
map.put("name", "张三");
final Map<String, String> newMap = Maps.newHashMap();
map.forEach((k,v) -> {
//若v为null,则不显示该参数
if (v != null) {
try {
newMap.put(k, URLEncoder.encode(v, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
});
//map以&分割,如果v为null,用""替换,k与v以=分割
String joiner = Joiner.on("&").useForNull("").withKeyValueSeparator("=").join(newMap);
System.out.print(joiner);
}
}
打印出来的结果是
name=%E5%BC%A0%E4%B8%89&id=123