java中map转string_字符串转list集合

java中map转string_字符串转list集合JAVAMap集合转String,String转Map集合当前两个转换方法主要用作支付宝,微信支付额外参数转换先看效果是不是诸君想要的map转string的值id=1&name=哆啦A梦丶幻想string转map的值{name=哆啦A梦丶幻想,id=1}贴代码://这里是用单元测试测试的两个方法@Testpubli…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

JAVA Map集合转String,String转Map集合##


当前两个转换方法主要用作支付宝,微信支付额外参数转换

先看效果是不是诸君想要的
map转string的值
id=1&name=哆啦A梦丶幻想

string转map的值
{name=哆啦A梦丶幻想, id=1}


贴代码:

	//这里是用单元测试测试的两个方法
    @Test
    public void filet(){
        Map<String,String> objectMap = new HashMap<>(3);
        objectMap.put("id","1");
        objectMap.put("name","哆啦A梦丶幻想");
        //map转string
        String passBackParams = StrUtils.getMapToString(objectMap);
        System.out.println(passBackParams);
        try {
            //string转map
           Map map =  StrUtils.getStringToMap(passBackParams);
            System.out.println(map);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

然后两个方法的主要代码:

	//参数类型是Map<String,String> 因为支付只能用string的参数。如果诸君还需要修改的话,那也可以适当的做调整
	/**
	 *
	 * map转str
	 * @param map
	 * @return
	 */
	public static String getMapToString(Map<String,String> map){
		Set<String> keySet = map.keySet();
		//将set集合转换为数组
		String[] keyArray = keySet.toArray(new String[keySet.size()]);
		//给数组排序(升序)
		Arrays.sort(keyArray);
		//因为String拼接效率会很低的,所以转用StringBuilder。博主会在这篇博文发后不久,会更新一篇String与StringBuilder开发时的抉择的博文。
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < keyArray.length; i++) {
			// 参数值为空,则不参与签名 这个方法trim()是去空格
			if (map.get(keyArray[i]).trim().length() > 0) {
				sb.append(keyArray[i]).append("=").append(map.get(keyArray[i]).trim());
			}
			if(i != keyArray.length-1){
				sb.append("&");
			}
		}
		return sb.toString();
	}
	/**
	 * 2018年10月24日更新
	 * String转map
	 * @param str
	 * @return
	 */
	public static Map<String,String> getStringToMap(String str){
		//感谢bojueyou指出的问题
		//判断str是否有值
		if(null == str || "".equals(str)){
			return null;
		}
		//根据&截取
		String[] strings = str.split("&");
		//设置HashMap长度
		int mapLength = strings.length;
		//判断hashMap的长度是否是2的幂。
		if((strings.length % 2) != 0){
			mapLength = mapLength+1;
		}

		Map<String,String> map = new HashMap<>(mapLength);
		//循环加入map集合
		for (int i = 0; i < strings.length; i++) {
			//截取一组字符串
			String[] strArray = strings[i].split("=");
			//strArray[0]为KEY  strArray[1]为值
			map.put(strArray[0],strArray[1]);
		}
		return map;
	}

如有建议,欢迎指出。

String,StringBuffer,StringBuilder有什么区别?项目中什么时候用?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195297.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常见的计算机病毒种类有,五种常见的计算机病毒种类有哪些

    常见的计算机病毒种类有,五种常见的计算机病毒种类有哪些五种常见的计算机病毒种类有系统病毒、蠕虫病毒、木马病毒、脚本病毒、宏病毒。计算机病毒(ComputerVirus)是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码。计算机病毒是人为制造的,有破坏性,又有传染性和潜伏性的,对计算机信息或系统起破坏作用的程序。它不是独立存在的,而是隐蔽在其他可执行的程序之中。计算机中病毒后,轻则影响机…

    2022年5月3日
    63
  • Xmind 2021快捷键

    Xmind 2021快捷键Xmind2021快捷键(同时按住;与按键字母大小无关)文件操作新建ctrl+n新建标签页ctrl+t打开ctrl+o保存ctrl+s另存为ctrl+shift+s关闭窗口ctrl+w编辑操作撤销ctrl+z展开子主题ctrl+/展开所有子分支alt+ctrl+/查找与替换ctrl+f首选项ctrl+shift+p插入操作子主题tab主题(同级之后)enter主题(同级之前)shift+enter父主题ctrl+enter联系

    2022年6月3日
    166
  • kali Linux开启ssh服务

    kali Linux开启ssh服务目的 本地 xshell 连接 KaliLinux 步骤 1 修改 kaliLinux 的配置文件 vim etc ssh sshd config 进入配置文件去掉 PasswordAuth 前的 号 且后面跟 yes 去掉 PermitRootLo 前的 号 且后面跟 yes 2 开启 ssh 服务 servicesshst 关闭服务查看状态 servicesshst xshel

    2025年9月5日
    6
  • springboot websocket 跨域_前端websocket框架

    springboot websocket 跨域_前端websocket框架WebSocket是HTML5开始提供的⼀种在单个TCP连接上进⾏全双⼯通讯的协议,可以实现跨域访问。websocket安装命令npmiws-S服务器端:letWebServerSocket=require(“ws”).Server;letwss=newWebServerSocket({port:8200});constmysql=require(“…

    2022年10月1日
    4
  • 各代iphone尺寸_iphone 各型号设备的屏幕尺寸「建议收藏」

    各代iphone尺寸_iphone 各型号设备的屏幕尺寸「建议收藏」4320×4805320×5686375×6676plus414×7366s375×6676splus414×736相关链接:http://blog.csdn.net/phunxm/article/details/421749371.iPhone尺寸规格设备iPhone宽Width高Height对角线Diagonal逻辑分辨率(point)ScaleFactor设备分辨率(pixel)PPI3G…

    2022年5月14日
    43
  • Petalinux2019.1详细安装[通俗易懂]

    Petalinux2019.1详细安装[通俗易懂]1、首先安装虚拟机,VMware2、安装UBUNTU,ubuntu-18.04.1-desktop-amd64.iso,版本必须是这个,和petalinux-v2019.1-final-installer.run版本对应。3、安装虚拟机完成后,在windos和linux之间建立共享文件夹,使之传输文件更简单。(1)首先取得管理员权限首先输入用户密码然后设置管理员密码123456su…

    2025年10月28日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号