String、StringBuffer、StringBuilder以及常用方法

一、String、StringBuffer、StringBuilder的区别

1.从可变和不可变的角度

String 是不可变的 具体原因可以看 java中的String 以及其方法(超详细!!!)
而StringBuffer和StringBuilder是可变的

2.从安全性和需求的角度

如果不频繁修改字符串时,建议使用String
如果频繁修改字符串时,并且是多线程下,建议使用StringBuffer (能够保证线程安全)
如果频繁修改字符串时,并且是单线程下,建议使用StringBuilder (速度较快,但保证线程安全)

二、为什么StringBuffer 和 StringBuilder 修改比String快

String每次修改都要重新创建 那两者不用

三、StringBuilder 的常见方法(StringBuffer也一样)

1.append() 添加

StringBuilder stringBuilder = new StringBuilder("asdasd");
System.out.println(stringBuilder.append("111"));

运行结果

asdasd111

2.insert(添加的位置,插入的内容) 指定位置添加

StringBuilder stringBuilder = new StringBuilder("asdasd");
        System.out.println(stringBuilder.insert(2,"111"));

运行结果

as111dasd

3.delete(a,b) 删除

删a不删b 删头不删尾

StringBuilder stringBuilder = new StringBuilder("asdasds");
System.out.println(stringBuilder.delete(2,6));

运行结果

asasd

4.deleteCharAt() 指定删除

StringBuilder stringBuilder = new StringBuilder("asdasds");
System.out.println(stringBuilder.deleteCharAt(6));

运行结果

asdasd

5.setCharAt() 修改

StringBuilder stringBuilder = new StringBuilder("asdasds");
stringBuilder.setCharAt(5,'2');
System.out.println(stringBuilder);

运行结果

asdas2s

6.reverse() 反转

StringBuilder stringBuilder = new StringBuilder("asdasds");
System.out.println(stringBuilder.reverse());

运行结果

sdsadsa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值