Java StringBuilder类
StringBuilder概述
如果对字符串进行拼接操作,每次拼接,都会创造一个新的String对象,既耗时,又浪费内存空间,而这种操作还不可避免。那么有没有一种比较好的方式可以解决这个问题呢?答案是肯定的,我们可以通过Java提供的StringBuilder类解决这个问题。
String和StringBuilder的区别
String内容是不可变的
StringBuilder内容是可变的
StringBuilder构造方法
方法名 | 说明 |
---|---|
public StringBuilder() | 创建一个空白可变字符串对象,不含有任何内容 |
public StringBuilder(String str) | 根据字符数串的内容,来创建可变字符串对象 |
代码测试:
/*
StringBuilder测试
*/
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder str1 = new StringBuilder();
System.out.println(str1);
System.out.println(str1.append(1));
StringBuilder str2 = new StringBuilder("abc");
System.out.println(str2);
System.out.println(str2.append("cde"));
str2.delete(1,3); //从第一位开始删 删到第三位的前面:[1,3)
System.out.println(str2);
}
}
StringBuilder和String相互转换
StringBuilder转换为String
public String toString():通过toString()就可以实现把StringBuilder转换为String
String转换为StringBuilder
public StringBuilder(String s):通过构造方法就可以实现把String转化为StringBuilder
代码测试:
/*
StringBuilder转String
*/
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder str1 = new StringBuilder();
str1.append("abc");
String str2 = str1.toString();
}
}