java 将参数按key=value形式拼接代码示例
时间: 2024-02-25 15:54:37 浏览: 73
在Java中将参数按key=value形式拼接的代码示例:
```java
public static String buildParams(Map<String, Object> params) {
if (params == null || params.isEmpty()) {
return "";
}
StringBuilder sb = new StringBuilder();
for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (value != null) {
sb.append(key).append("=").append(value).append("&");
}
}
sb.deleteCharAt(sb.length() - 1); // 移除最后一个&符号
return sb.toString();
}
```
该代码接收一个Map类型的参数,将参数按key=value的形式拼接成字符串返回。其中,如果参数值为null,则不拼接该参数。最后,移除最后一个&符号。
例如,如果传入以下参数:
```java
Map<String, Object> params = new HashMap<>();
params.put("name", "张三");
params.put("age", 18);
params.put("gender", null);
```
则调用buildParams方法后,返回的字符串为:
```
name=张三&age=18
```
需要注意的是,如果参数值是字符串类型,需要进行URL编码,例如:
```java
String value = "测试";
sb.append(key).append("=").append(URLEncoder.encode(value, "UTF-8")).append("&");
```
这样可以保证参数值中特殊字符的正确传递。
阅读全文