StringBuffer类和StringBuilder类位于java.util包中,是String类的增强型,提供了很多方法可供使用
StringBuffer和StringBuilder出现的原因是:使用+拼接字符串会浪费大量内存空间
String a = "Hello";
a = a + "chmy";
新的a指向hellochmy
静态常量池中多了两个字符串hello和chmy
StringBuffer类:
使用StringBuffer首先要创建对象
StringBuffer声明:
声明对象并且初始化
StringBuffer sb = new StringBuffer();
StringBuffer sb = new StringBuffer("aaa");
使用方法:
因为这个不是字符串不能够直接sb="你好"xxx,要使用append在后面追加。
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
sb.append("你好");
sb.append("蛋蛋怪");
sb.insert(0,"嘎达嘎达");
System.out.println(sb);
}
常用方法:
sb.toString(); | 转为String |
sb.append("**"); | 追加字符串 |
sb.insert (1, "**"); | 插入字符串 |
StringBuilder类:
它的用法和StringBuffer类一样,都是有这几个方法
sb.toString(); | 转为String |
sb.append("**"); | 追加字符串 |
sb.insert (1, "**"); | 插入字符串 |
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("你好");
sb.append("蛋蛋怪");
sb.insert(0,"嘎达嘎达");
System.out.println(sb);
}
StringBuffer和StringBuilder类区别:
StringBuffer和StringBuilder用法上啥的都一样。
1.StringBuffer比较慢,但是线程安全
2.StringBuilder快,但是不安全