码迷,mamicode.com
首页 > 其他好文 > 详细

字符串拼接 | StringBuffer & StringBuilder

时间:2021-04-22 15:51:54      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:最好   常量   static   字符串   复制   int   不能   amp   pre   

StringBuffer的使用

  • 字符串创建之后是不能改变的,使用加号进行字符串拼接,不是在原来字符串的基础上拼接,是复制原来字符串和新的字符串进行拼接,组成一个新的字符串,这样字符串常量池就会多出很多字符串。
  • 使用StringBuffer进行拼接,底层就是调用数组进行拼接的。在原来字符串上拼接,不会多出很多字符串。

实例:

public class StringBufferTest {
    public static void main(String[] args) {
        StringBuffer stringBuffer=new StringBuffer();

        stringBuffer.append(12);
        stringBuffer.append("abc");
        stringBuffer.append(true);

        System.out.println(stringBuffer);
    }
}

StringBuffer的优化

  • 在创建StringBuffer的时候尽可能给定一个初始化容量,最好减少底层数组的扩容次数。

实例:

public class StringBufferTest {
    public static void main(String[] args) {
        //初始化容量是16。
        StringBuffer stringBuffer=new StringBuffer();
        
        //默认的初始容量是16,现在自己设定初始容量为100
        StringBuffer stringBuffer1=new StringBuffer(100);
    }
}

StringBuilder的使用

  • StringBuilder的使用和String相似,也是用来进行字符串拼接的。
  • 两者的区别:StringBuffer中的方法有synchronized关键字修饰,StringBuffer中的方法没有。StringBuffer是线程安全的,StringBuilder是非线程安全的。

字符串拼接 | StringBuffer & StringBuilder

标签:最好   常量   static   字符串   复制   int   不能   amp   pre   

原文地址:https://www.cnblogs.com/LFR-21/p/14685370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!