String、StringBuilder、StringBuffer的介绍和区分

字符串的详解

1. StringBuilder和StringBuffer
  • String类是用来操作字符串的,它每次操作字符串时String对象都是不可变的,适用于没有循环的字符串拼接
  • StringBuilder、StringBuffer内容可以修改(StringBuilder和StringBuffer用法相同),适用于反复对字符串的操作StringBuilder适用于单线程反复对字符串的操作StringBuffer适用于多线程反复对字符串的操作
    单线程:程序执行时只就行一个程序运行
    多线程:一个程序运行的同时其他程序也进行运行
2.String,StringBuilder和StringBuffer区别
  • String的内容不可修改,StringBuffer与StringBuilder的内容可以修改.
  • StringBuffer与StringBuilder大部分功能是相似的
  • StringBuffer属于线程安全操作;而StringBuilder属于线程不安全操作
3.String,StringBuilder和StringBuffer的优点缺点
  • 缺点: String运行效率低,占据资源大,对内存耗费大(每次修改时都会返回一个新字符串)
  • 优点:String在操作字符串时线程是安全的
  • 缺点:StringBuilder在操作字符串时线程不安全的
  • 优点:StringBuilder运行效率快,占据资源少
  • 缺点:StringBuffer运行效率,占用资源都低于StringBuilder
  • 优点:StringBuffer运行效率快(低于StringBuilder),占据资源少(低于StringBuilder)
代码演示
  • 字符串是不可变的数据类型
  • 几乎所有的字符串操作都会返回一个新的字符串

String
concat()方法运用于将指定字符串参数连接到字符串上

 public static void main(String[] args) {
        String sb =("陈鲁班的腿特别短");
        String sb2=sb.concat(",陈卤蛋的腿也很短");
        System.out.println(sb);
        System.out.println(sb2);
    }

StringBuider


  • append()是往动态字符串数组添加,如“x”+“y”相当那个‘+’号
 public static void main(String[] args) {
        StringBuider sb =new StringBuider();
       StringBuider sb2 =new StringBuider("陈鲁班的腿特别短");
        System.out.println(sb2);
        sb2.append(",陈卤蛋的腿也很短");
        System.out.println(sb2);
    }

StringBuffer
append()是往动态字符串数组添加,如“x”+“y”相当那个‘+’号

 public static void main(String[] args) {
        StringBuffer sb =new StringBuffer();
        StringBuffer sb2 =new StringBuffer("陈鲁班的腿特别短");
        System.out.println(sb2);
        sb2.append(",陈卤蛋的腿也很短");
        System.out.println(sb2);
    }
append()与concat()的区别

append()是将sb,sb2存在同一个地址内存
concat()是将sb,sb2存在两个不同的地址内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值