Java基础语法 string stringbuffer stringbuilde的异同介绍

Java基础语法 string stringbuffer stringbuilder三者的差别

          

 

 

Java中String StringBuffer StringBuilder 是编程中经常使用的字符串类接下来从三个方面介绍三者的共同点和差别。

第一:可变与不可变

String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。

StringBuffer、StringBuilder 都是继承于AbstractStringBuilder类中,在该类中也是使用字符数组保存数据。我们都知道这两种对象都是可变的。

 

第二:线程安全

 

String类是Final修饰符修饰的,他的值是不可更改的,所以是线程安全的。

AbstractStringBuilderStringbufferStringbuilder的公共父类,定义了一些字符串基本操作。如expandCapacityappendinsertindexOf等公共类。

StringBuffer对方法加了同步锁或者对调用方法添加了同步锁,所以是线程安全的

StringBuilder类没有对方法添加同步锁,所以是非线程安全的。

 

 

第三:执行效率

执行效率关乎程序好坏,执行效率好的程序运行效率快,那么String、StringBuffer、 StringBuilder那个最快呢。

在这三者中 String执行效率是最慢的,StringBuffer执行效率差别不大,但是StringBuilder最快但是StringBuilder是非线性安全。

 

比较: StringBuilder > StringBuffer > String

 

 

 

四、总结

 

1.如果操作少量数据 ---用String

2.单线程操作字符串缓存区下操作数据---用StringBuilder 

3.多线程操作字符串缓存区下操作大量数据---用StringBuffer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海鸥1234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值