首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
String 和StringBuffer的区别
[问答题]
请你说明String 和StringBuffer的区别
添加笔记
求解答(0)
邀请回答
收藏(78)
分享
纠错
18个回答
添加回答
4
海量HC!
类
底层/可变
线程安全
String
final char value[] 不可变
是
StringBuffer
char value[] 可变
是
StringBuilder
char value[] 可变
否
编辑于 2019-04-15 18:51:51
回复(2)
4
Allen烽
String是final类,意味着一旦赋值,不可改变。而StringBuffer是可以改变的,通常谈到这俩者还有引入StringBuffer,三者联系起来来比较看他们的使用。StringBuffer是线程安全的,因为它内部使用了synchronized修饰,所以效率比builder要弱15%。三者builder最快其次buffer最后是String。
发表于 2019-01-22 16:25:01
回复(0)
0
Fern201901101552506
String是只读字符串,意味着String引用的字符串内容不能被改变 ,而StringBuffer表示的字符串可以直接进行修改。
发表于 2019-01-17 16:33:44
回复(0)
0
一名菜鸡来学习
相同点:String和StringBuffer都是线程安全的。
不同点:1.String的值不能随意改变,因为String是final修饰的,而StringBuffer的值可以改变。2.String底层实现了equals方法,而StringBuffer没有。
发表于 2020-02-28 11:38:08
回复(0)
0
李梦蝶
String是final类,一旦赋值,不可改变。而StringBuffer是可变的。
StringBuffer是线程安全的,因为它内部使用了synchronized修饰,所以效率比
String
Builder要弱15%。三者builder最快其次buffer最后是String。
发表于 2019-07-29 15:18:41
回复(1)
0
woli莹
string:对象一旦产生就不可以修改。 stringBuffer:对象的内容可以修改
发表于 2019-05-08 10:41:40
回复(0)
0
TiAmo_9955
(1)String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承
(2)StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象。它只能通过构造函数来建立对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer中付值的时候可以通过它的append方法.
发表于 2019-05-04 22:23:17
回复(0)
0
酷酷boye
StringBuffer、String一样,也用来代表字符串:
String类是不可变类,任何对String的改变都会引发新的String对象的生成;
StringBuffer是可变类,任何对它所指代的字符串的改变都不会产生新的对象。
执行速度方面的比较: StringBuffer > String
发表于 2019-04-28 22:36:55
回复(0)
0
九零二w
String类是不可变类,任何对String的改变都会引发新的String对象的生成; StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象。
发表于 2019-04-28 20:37:40
回复(0)
0
呀小裴
这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。
发表于 2019-04-26 22:38:06
回复(0)
0
江畔8670
string是不可变类,任何对string的改变都会引发新的string对象的生成 stringBuffer和stringBuilder则是可变类,任何对它指代的字符串的改变都不会产生新的对象 stringBuffer线程安全stringBuilder线程非安全
发表于 2019-04-26 20:14:36
回复(0)
0
茹(๑•.•๑)
string是不可变类,任何对string对象的改变都会产生新的string对象 stringbuffer是可变类,是线程安全的
编辑于 2019-04-26 20:04:25
回复(0)
0
柠小哀
1 String的长度是不可变的 StringBuffer的长度是可变的 2 使用 StringBuffer 主要就是在性能上的考虑 String 是一种非常常用的数据类型 但由于 String 是不可变对象 在进行 String 的相关操作的时候会产生许多临时的 String 对象 而 StringBuffer 在操作上是在一个缓冲中进行的 性能当然优越得多 不过 一般做为简单的字符串传递和其它操作 只要不改变字符串内容的操作 用 String 效率会高一些
发表于 2019-04-26 09:53:04
回复(0)
0
西瓜同学🏀
string是不可变的,任何对string的改变都会产生一个对象 stringbuffer是可变的,任何对他改变都不会产生一个对象,线程是安全的
发表于 2019-04-25 20:31:35
回复(0)
0
暖神大大
String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承
StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象。它只能通过构造函数来建立对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer中付值的时候可以通过它的append方法.
发表于 2019-04-25 19:37:35
回复(0)
0
有心人qjy
String是final类型一旦赋值不可变,StringBuffer可变且线程安全
发表于 2019-04-10 11:55:11
回复(0)
0
GodLiu
Stting是final类,它修饰的变量不能被赋值,是只读字符串,而Stringbuffer是可修改的,同时是线程安全的
发表于 2019-03-07 13:38:09
回复(0)
0
apathy9705
string类是引用数据类型,被final修饰,字符数据不可修改。而stringbuffer可以动态构造字符数据,stringbuffer是线程安全的。
编辑于 2019-03-05 22:12:17
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
Java工程师
上传者:
小小
难度:
18条回答
78收藏
4528浏览
热门推荐
相关试题
假定一个待哈希存储的线性表为(32...
哈希
评论
(1)
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题