黑马程序员技术交流社区

标题: String和StringBuffer的区别是什么? [打印本页]

作者: 我只是一只菜鸟    时间: 2014-12-17 21:03
标题: String和StringBuffer的区别是什么?
我是听说了String和StringBuffer,知道都是存储字符串的,但是不知道有什么区别?
作者: jxlovqqvo    时间: 2014-12-17 21:12
String不可变c长度字符串,StringBuffer为可变长度字符串,String一点new了内容就不能在改变,而StringBuffer可以通过自身的append方法来改变字符串也就更节约空间
作者: Lscreat    时间: 2014-12-17 21:14
String 是一个数据类型也是一个包,StringBuffer是一个没有固定长度的容器,用来存各种类型的数据。
作者: noiary    时间: 2014-12-17 21:21
String 是常态化,一般都用String 底层优化也较多,功能也比StringBuffer多(个人认为)
StringBuffer是容器,有以下特点:
1.长度是可变化的
2.可以操作多个数据类型(String char int double boolean 等)
3.最终会通过toString方法变成字符串

另外 StringBuilder 和 StringBuffer 是一样的
只是StringBuilder效率较高,但是多线程不安全

作者: 我只是一只菜鸟    时间: 2014-12-18 12:02
noiary 发表于 2014-12-17 21:21
String 是常态化,一般都用String 底层优化也较多,功能也比StringBuffer多(个人认为)
StringBuffer是容 ...

意思是stringBuffer是一个容器,存储各种类型数据,最后还要转化为字符串,存进String?
作者: 南柯一梦境    时间: 2014-12-18 12:44
逛逛能学不少啊
作者: noiary    时间: 2014-12-18 13:20
我只是一只菜鸟 发表于 2014-12-18 12:02
意思是stringBuffer是一个容器,存储各种类型数据,最后还要转化为字符串,存进String? ...

要不要转成字符串看实际需求吧。

String是对象,不可更改,所以不涉及到“存进”。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2