public class StringBuilterTest {
public static void main(String[] args) { //新增一个map
Map<String, String> map = new HashMap<>();
map.put("code", "500");
map.put("name", "测试");
map.put("age", "100"); //遍历map拼接字符串
StringBuilder stringBuilder = new StringBuilder();
for (String key : map.keySet()){
stringBuilder.append(key).append("=").append(map.get(key)).append("&");
} //这时我们往往想去除最后一个&符号,方法如下:测试的时候要分开测试这2种方法;我采用了方法1
System.out.println(stringBuilder.deleteCharAt(stringBuilder.length()-1).toString());//方法1(先删除然后转string,采用这个),结果:code=500&name=测试&age=100
System.out.println(stringBuilder.substring(0, stringBuilder.length()-1));//方法2(复制的方法,可能效率低),结果:code=500&name=测试&age=100 }
}

2020-03-14 更新,方法3推荐(有一个lastINdexOf 经过测试 果然与我想的一样,推荐这个方法 效率最高,简单):

        Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c"); StringBuilder stringBuilder = new StringBuilder();
for (String key: set) {
stringBuilder.append(key).append(","); }
System.out.println(stringBuilder.toString());
System.out.println(stringBuilder.lastIndexOf(","));
stringBuilder.deleteCharAt(stringBuilder.lastIndexOf(","));
System.out.println(stringBuilder.toString());

StringBuilder 去除最后一个多余的字符的方法的更多相关文章

  1. String、StringBuffer和StringBuilder,定义一个自己的StringBuilder的类

    String Java中的字符串值属于String类,虽然有其它方法表示字符串(如字符数组),但Java一般使用String类作为字符串的标准格式,Java编译器把字符串值作为String对象; St ...

  2. linux设备驱动第三篇:如何实现一个简单的字符设备驱动

    在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存 ...

  3. linux设备驱动第三篇:如何写一个简单的字符设备驱动?

    在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分配的一些内存 ...

  4. (JS,JAVA,MySql)去除小数后多余的0

    分别通过JS,JAVA和MySql实现去除小数后多余的0 1. JS方法 /** *去除小数点后多余的0 */ function cutZero(old) { //拷贝一份 返回去掉零的新串 old ...

  5. linux设备驱动第三篇:写一个简单的字符设备驱动

          在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分 ...

  6. C# Trim方法去除字符串两端的指定字符

    var str= ",2,3,4,6,7,"; var str2 = str.Trim(new char[] { ',' }); //去除字符串str两端的','字符. //则st ...

  7. 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}

    应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace(/[^\x00-\xff] ...

  8. java怎么实现统计一个字符串中字符出现的次数

    问题:假设字符串仅仅保护a-z 的字母,java怎么实现统计一个字符串中字符出现的次数?而且,如果压缩后的字符数不小于原始字符数,则返回. 处理逻辑:首先拆分字符串,以拆分出的字符为key,以字符出现 ...

  9. mysql 的 help 命令:每个命令,都有相应的反斜杠(\)加一个字母或字符的简写

    mysql> help For information about MySQL products and services, visit: http://www.mysql.com/ For d ...

随机推荐

  1. uefi是如何启动linux内核的?

    答:uefi启动linux内核有两条路径: 1. uefi直接进入uefi shell来启动linux内核 2. uefi直接进入uefi shell启动grub启动器,然后进入grub shell启 ...

  2. [Java复习] 缓存Cache part1

    1. 在项目中是如何使用缓存的?为什么要用?不用行不行?用了可能会有哪些不良后果? 结合项目业务,主要两个目的:高性能和高并发.缓存走内存,天然支持高并发. 不良后果: 缓存与DB双写不一致 缓存雪崩 ...

  3. JavaScript中三个等号和两个等号的区别(“===”与“==”的区别)

    1.===:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回true,若等号两边的值类型不同时直接返回false. 例:100===“100”   //返回f ...

  4. 阶段5 3.微服务项目【学成在线】_day18 用户授权_08-动态查询用户的权限-用户中心查询用户权限

    3.3 用户中心查询用户权限 3.3.1 需求分析 认证服务请求用户中心查询用户信息,用户需要将用户基本信息和用户权限一同返回给认证服务. 本小节实现用户查询查询用户权限,并将用户权限信息添加到的用户 ...

  5. 各种修改Mysql字符集

    以下方法最好在没有数据时操作,否则有可能导致乱码.如果已有数据,做好备份尝试Mysql迁移由于字符集导致乱码的数据 创建测试环境 mysql> create database test_db; ...

  6. 利用Python获取cookie的方法,相比java代码简便不少

    1.通过urllib库,是python的标准库,不需要另外引入,直接看代码,注意代码的缩进: # coding=UTF-8import cookielibimport urllib2 class Ry ...

  7. LeetCode_121. Best Time to Buy and Sell Stock

    121. Best Time to Buy and Sell Stock Easy Say you have an array for which the ith element is the pri ...

  8. Apache配置参数的优化

    查看apache开启那些模块: apachectl -t -D DUMP_MODULES 1)KeepAlive On/Off KeepAlive指的是保持连接活跃,换一句话说,如果将KeepAliv ...

  9. 基于Docker+Jenkins实现自动化部署

    使用码云搭建Git代码存储仓库 https://gitee.com/login 使用码云创建私有私有git仓库 将本地springboot项目上传到git仓库中 基于Docker安装Jenkins环境 ...

  10. Nginx负载均衡中4层代理和7层代理对比

    1.4层代理和7层代理什么意思? 这里的层是OSI 7层网络模型,OSI 模型是从上往下的,越底层越接近硬件,越往上越接近软件,这七层模型分别是物理层.数据链路层.网络层.传输层.会话层.表示层.应用 ...