<pre name="code" class="java"><span style="font-size:14px;">安卓项目中经常需要拼接URL参数,我是这样处理的</span>
<span style="font-size:14px;">public class ApiParams {
/**
* @param map
* @return 返回以 "key/value" 隔开的url参数
*/
public static String mapToUrl1(Map<String, Object> map){
String str = "";
//效率低
// Iterator<String> iter = map.keySet().iterator();
// while (iter.hasNext()) {
// String key = iter.next();
// Object value = map.get(key);
// str += "/"+key+"/"+value;
// }
//效率更高这个方法
for (String key : map.keySet()) {
Object value = map.get(key);
str += "/"+key+"/"+value;
}
return str;
}
/**
* @param map
* @return 返回 "key=value" url参数
*/
public static String mapToUrl2(Map<String, Object> map){
String str = "";
//效率更高这个方法
for (String key : map.keySet()) {
Object value = map.get(key);
str += key+"="+value+"&";
}
return str;
}
}</span>
<span style="font-size:14px;">
</span>
<span style="font-size:14px;">使用:</span>
<span style="font-size:14px;"><span style="white-space:pre"> </span>public static void main(String args[]){</span>
<span style="font-size:14px;"></span><pre name="code" class="java"><span style="white-space:pre"> </span>Map<String ,Object> map = new LinkedHashMap<String ,Object>();//必须用有序Map
map.put("departids","-7");
map.put("page", 1);
map.put("rows", "10");
map.put("userName", "张三");
//ApiParams.mapToUrl1(map);
<span style="font-size:14px;"><span style="white-space:pre"> </span>System.out.println(</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 14px;">ApiParams.mapToUrl1(map)</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span>
<span style="font-size:14px;"><span style="white-space:pre"> </span>}
输出:departids/-7/page/1/rows/10/userName/张三</span>