在Java中,String,StringBuilder,StringBuffer三者都是对字符串进行操作的对象,用来保存和操作字符串,三者之间在使用上有所不同,各有优缺点,简单介绍如下:
区别一:字符串可变与不可变方面
String对象是不可变的,其维护的字符数组长度在创建完对象后就固定了,无法变动字符数组里面的字符串,而StringBuilder和StringBuffer里面维护的是长度可变的字符数组,可以动态的往里面添加,删除字符串。
区别二:线程安全与不安全方面
String对象是不可变的,可以看做是常量,所以String对象线程安全;
StringBuilder对象里面的方法没有关键字synchnoized修饰,线程不安全;
StringBuffer对象里面的方法没有关键字synchnoized修饰,线程不安全;
区别三:使用场合与使用效率方面
使用场合:
String对象主要用在字符串变动少或者频繁使用字符串连接符 “+” 连接字符串的场合;
StringBuilder对象主要用在经常要变动字符串且无多线程的场合;
StringBuffer对象主要用在经常要变动字符串且有多线程的场合;
使用效率:相对来说: StringBuilder效率 > StringBuffer效率 >String效率;
本文转载地址:https://blog.youkuaiyun.com/weixin_40698521/article/details/84567121
##Java之String,StringBuilder,StringBuffer用法、优缺点详解篇
最新推荐文章于 2023-08-04 10:01:41 发布