Java将Map拼接成“参数=值&参数=值”

  把一个map的键值对拼接成“参数=值&参数=值”即“username=angusbao&password=123456”这种形式方便传递,尤其是在接口调用的时候,这种方式使用的更加普遍,比如http请求的get方式,如何用java对其进行解决呢?
  代码如下:

  /**
  * 把数组所有元素排序,并按照“参数=参数值”的模式用“&”字符拼接成字符串
  * @param params 需要排序并参与字符拼接的参数组
  * @return 拼接后字符串
  * @throws UnsupportedEncodingException
  */
  public static String createLinkStringByGet(Map<String, String> params) throws UnsupportedEncodingException {
    List<String> keys = new ArrayList<String>(params.keySet());
    Collections.sort(keys);
    String prestr = "";
    for (int i = 0; i < keys.size(); i++) {
      String key = keys.get(i);
      String value = params.get(key);
      value = URLEncoder.encode(value, "UTF-8");
      if (i == keys.size() - 1) {//拼接时,不包括最后一个&字符
        prestr = prestr + key + "=" + value;
      } else {
        prestr = prestr + key + "=" + value + "&";
      }
    }
    return prestr;
  }
  public static void main(String[] args) throws UnsupportedEncodingException {
    Map<String,String> map= new HashMap<String,String>();
    map.put("1", "hello");
    map.put("2", "world");
    System.out.println(createLinkStringByGet(map));
  }

  

  最后结果为:1=hello&2=world

最新文章

  1. ANDROID STDUIO 项目里的R文件突然丢失的解决办法N种之一
  2. sqlserver查询数据的所有表名和行数
  3. 微信网页授权snsapi_base、snsapi_userinfo的问题
  4. 深入理解css中的margin属性
  5. Hadoop中操作HDFS出现异常的解决方法
  6. Reactor 与 Proactor
  7. 如何通过源码生成Gatling可执行工具
  8. WPF Event 在 Command 中的应用初级篇,支持所有Event 展示松耦合设计的全部代码 - 解决TextBoxBase.TextChanged或者TextBox.TextChanged等类似事件绑定问题。
  9. 激动啊,终于诞生了,编译了属于俺自己的 JDK
  10. pythong下的unittest框架
  11. HTML: Dom event
  12. 从String.valueOf(null)说起
  13. 【Python3练习题 012】 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
  14. 不裸缩点》。。。POJ2186受欢迎的牛
  15. hive学习05 参数设置
  16. 【Java入门提高篇】Day24 Java容器类详解(七)HashMap源码分析(下)
  17. python---网络之邮件发送
  18. HTML5 文件API
  19. UK 更新惊魂记
  20. Redux和React-Redux的实现(一):Redux的实现和context

热门文章

  1. 201521123114 《Java程序设计》第13周学习总结
  2. Java第十三周学习总结
  3. Markdown例
  4. hdu3037 Saving Beans
  5. Python shelve模块的使用方法
  6. mariadb自带命令行客户端指令笔记
  7. Java 使用Axis实现WebService实例
  8. angular&#160;如何获取使用filter过滤后的ng-repeat的数据长度
  9. oracle 角色
  10. CSS3微信启动页天王星版