java中String、StringBuffer、StringBuilder的区别
程序员文章站
2022-08-11 16:18:44
1.string string对象是不可变的,线程安全的。适用于少量的字符串操作的情况 2.stringBuffer StringBuffer对象是可变的,但是线程安全,源码中append()方法中加了同步锁synchronized。适用多线程下在字符缓冲区进行大量操作的情况,一般做支付涉及字符串的 ......
1.string
string对象是不可变的,线程安全的。适用于少量的字符串操作的情况
2.stringbuffer
stringbuffer对象是可变的,但是线程安全,源码中append()方法中加了同步锁synchronized。适用多线程下在字符缓冲区进行大量操作的情况,一般做支付涉及字符串的拼接就会用到stringbuffer。
比如:银生宝支付mac字段的得到
string mac="";
string key = "12345"; //此处就随便设置值
string notifyurl ="www.baidu.com";
stringbuffer sf = new stringbuffer();
sf.append("accountid=").append("12345");
sf.append("&customerid=").append("12345");
sf.append("&orderno=").append("12345");
sf.append("&purpose=").append("12345");
sf.append("&amount=").append("12345");
sf.append("&commodityname=").append("zhifu");
sf.append("&businesstype=").append("1");
sf.append("&responseurl=").append(notifyurl);
sf.append("&token=").append(token);
if (!stringutils.isnotblank(token)){
sf.append("&name=").append("张三");
sf.append("&idcardno=").append("621010023456789");
sf.append("&cardno=").append("621021012345678");
sf.append("&phoneno=").append("18214667755");
}else if (stringutils.isnotblank(token)){
sf.append("&name=").append("");
sf.append("&idcardno=").append("");
sf.append("&cardno=").append("");
sf.append("&phoneno=").append("");
}
sf.append("&key=").append(key);
sf.append("&key=").append(key);
logger.info("发送短信加密前+++++++++"+sf.tostring());
mac = md5encrypt.md5(sf.tostring()).touppercase(); //md5encrypt.md5是md5加密方法,这里就不写出来了。
3.stringbuilder
stringbuilder对象是可变的,但是线程不安全。适用于单线程下在字符缓冲区进行大量操作的情况
上一篇: 第一届全国医用机器人和医学智能化大会开幕
下一篇: oop面向对象【接口、多态】
推荐阅读
-
全面解释java中StringBuilder、StringBuffer、String类之间的关系
-
详解.NET中string与StringBuilder在字符串拼接功能上的比较
-
java中String对象的存储位置
-
Java中String、StringBuffer、StringBuilder的区别(转)
-
Java中HashMap和TreeMap的区别深入理解
-
浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别
-
C#中String StringBuilder StringBuffer类的用法
-
Java中parseInt()和valueOf(),toString()的区别
-
Java日期时间API系列9-----Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别
-
Java与JavaScript中判断两字符串是否相等的区别