开发中需要大量字符串的拼接操作,建议使用jdk中自带的StringBuffer与StringBuilder类
1、StringBuffer
优化StringBuffer的性能
在创建StringBuffer的时候尽可能给定一个合适的初始化容量
最好减少底层数组的扩容次数。预估计一下,给一个大一些初始化容量
// 创建一个初始化容量为16个byte[] 数组(字符串缓冲区对象)
// 本身自定义的容量就为16
StringBuffer stringBuffer = new StringBuffer();
// 拼接字符串,以后拼接字符串统一调用 append()方法。
// append是追加的意思
stringBuffer.append("a");
stringBuffer.append("b");
stringBuffer.append(3.14);
// append方法底层在进行追加的时候,如果byte数组满了,会自动扩容。
stringBuffer.append(100L);
System.out.println(stringBuffer.toString());
// 指定初始化容量的StringBuffer对象(字符串缓冲区对象)
// 优化了StringBuffer的性能
StringBuffer sb = new StringBuffer(30);
sb.append("hello");
sb.append("world");
System.out.println(sb);
2、StringBuilder
使用中与StringBuffer并无区别
3、StringBuffer和StringBuilder的区别
StringBuffer中的方法都有:synchronized关键字修饰。表示StringBuffer在多线程环境下运行是安全的
StringBuilder中的方法都没有:synchronized关键字修饰,表示StringBuilder在多线程环境下运行是不安全的
标签:--,StringBuffer,StringBuilder,stringBuffer,字符串,sb,JavaSE,append From: https://www.cnblogs.com/hyy-0/p/17618198.html