在Java中,拼接字符串可以使用+号,但是字符串在java中是不可变的,每一次拼接都会产生新的字符串,所以如果进行频繁的字符串拼接,会占用大量的方法区内存,这时候就需要使用JDK中自带的java.lang.StringBuffer/java.lang.StringBuilder进行字符串拼接:
public class StringBufferTest {
public static void main(String[] args) {
// 在创建StringBuffer的时候尽可能给定一个初始化容量
// 最好减少底层数组的扩容次数
StringBuffer s1 = new StringBuffer(100);
// append追加
s1.append("abc");
s1.append(120);
s1.append(1.2);
s1.append(1L);
System.out.println(s1);//abc1201.21
}
}
public class StringBuilderTest {
public static void main(String[] args) {
StringBuilder s1 = new StringBuilder();
s1.append(123);
s1.append("abc");
s1.append(false);
System.out.println(s1);
}
}
StringBuffer中的方法都有:synchronized关键字修饰,表示StringBuffer在多线程环境下运行是安全的
StringBuilder中的方法都没有:synchronized关键字修饰,表示StringBuilder在多线程环境下运行是不安全的声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!