StringBuffer用来解决字符串连接(提升效率)
前言
思考:我们在实际的开发中,如果需要进行字符串的频繁拼接,会有什么问题? 因为java中的字符串是不可变的,每一次拼接都会产生新字符串。 这样会占用大量的方法区内存。造成内存空间的浪费。 String s = "abc""; s += “heLLo"; 就以上两行代码,就导致在方法区字符串常量池当中创建了3个对象: "abc" "hello"提示:以下是本篇文章正文内容,下面案例可供参考
一、StringBuffer是什么?
线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
二、解决问题:
//如何优化StringBuffer的性能
//常见Stringbuffer尽可能给定一个初始化容量
//最好减少底层扩容,初始化容量尽量大一点
1.引入库
代码如下(示例):
//构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符byte[]数组。
StringBuffer stringbuffer=new StringBuffer();
//拼接字符串
stringbuffer.append("a");
stringbuffer.append("b");
stringbuffer.append("fguhj");
System.out.println(stringbuffer.toString());
StringBuffer sb=new StringBuffer(100);
sb.append("hello");
sb.append(" world");
System.out.println(sb.toString());