首页 > 其他 > 详细

对字符串进行频繁拼接的话,使用StringBuffer或者StringBuilder

时间:2018-08-26 17:40:23      阅读:254      评论:0      收藏:0      [点我收藏+]

package zhengze;

/*如果需要对字符串进行频繁拼接的话,使用StringBuffer或者StringBuilder
StringBuffer:【字符串缓冲器】是线程安全的,效率低
StringBuilder:【字符串操作类】是线程不安全的,效率高
*/
public class StringTest {
public static void main(String[] args) {
/*
* String s1 = "hello"; String s2 = "world"; String s3 = "wei"; String
* s4 = s1 + s2 + s3; System.out.println(s4);
*/
/*
* 使用下面方式进行字符串的拼接操作 默认会创建一个长度是16的字符数组
*/
StringBuffer sBuffer = new StringBuffer();
sBuffer.append("Monica\t");
sBuffer.append("love\t");
sBuffer.append("Who");
// 会调用StringBuffer中的toString()方法
System.out.println(sBuffer);//false

String s = "Monica\tlove\tWho";
System.out.println(s == sBuffer.toString());// false
if ((s).equals(sBuffer)) {
System.out.println("相等");
} else {
System.out.println("不相等");//不相等
}
// 将StringBuffer对象转成字符串
String s5 = sBuffer.toString();
StringBuffer aBuffer = new StringBuffer(125);
aBuffer.append("1");
aBuffer.append("2");
aBuffer.append("3");
String as = "123";
// System.out.println(aBuffer);
// 如果想让String和StringBuffer用 == 引用数据类型比较的是地址值 ,
// StringBuffer必须调用toString()方法才和String进行比较
System.out.println(aBuffer.toString() == as);//false
System.out.println(aBuffer.equals(as));//false

}
}

-----------------------打印结果-----------------------------

Monica love Who
false
不相等
false
false

对字符串进行频繁拼接的话,使用StringBuffer或者StringBuilder

原文:https://www.cnblogs.com/Koma-vv/p/9537652.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!