黑马程序员技术交流社区

标题: string stringbuffer stringbuilder的区别! [打印本页]

作者: Wen丶    时间: 2013-6-19 14:47
标题: string stringbuffer stringbuilder的区别!
String是一个字符串对象。字符串一旦被创建,就不可以被改变。
StringBuffer是一个可以操作的字符串。
StringBuilder跟StringBuffer操作是一样的,StringBuffer里面有锁,是线程安全的。StringBuffer没有锁,但是运行速度快。
所以单线程的时候使用StringBilder 多线程的时候StringBuffer。。
说的不是很详细,那位大神帮忙补充下。。
作者: 007诸葛亮    时间: 2013-6-19 15:02
String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都是String类的对象。字符串是常量;它们的值在创建之后不能改变。所以可以共享它们。
String类,这个类没有被final关键字修饰,所以可以被继承。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享(来自API文档)。这个类有一个特性,字符串与任何类型的数据“+”相连接,那么他就变成了字符串,这个操作是通过StringBuilder或者StringBuffer类及其append方法实现的


StringBuffer是字符串缓存区,它的内容可以被修改,长度也可以改变,StringBuffer类是线程安全的,也就是说多个线程可以安全的访问StringBuffer对象。
StringBuffer类,这个类被final关键字修饰,不能够被继承。长度和内容建立后可以被修改。字符串缓冲区都有一定的容量,如果没有超过默认的容量,立即存储,如果超过默认容量,容量会自动增加。还有,她出现在JDK1.0,并且是线程同步的,所以效率略低。


StringBuilder与StringBuffer类似,都是字符串缓冲区,但StringBuilder不是线程安全的,如果你只是在单线程中使用字符串缓冲区,那么StringBuilder的效率会更高些。
StringBuilder类,这个类被final关键字修饰,不能够被继承。她提供一个与 StringBuffer 兼容的 API,StringBuilder的出现就是替代StringBuffer的。StringBuilder是出现在JDK1.5,她是线程不同步的,所以效率略高。  在开发中,优先考虑StringBuilder

值得注意的是StringBuilder是在JDK1.5版本中增加的。以前版本的JDK不能使用该类。

  
作者: 007诸葛亮    时间: 2013-6-19 15:02
String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都是String类的对象。字符串是常量;它们的值在创建之后不能改变。所以可以共享它们。
String类,这个类没有被final关键字修饰,所以可以被继承。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享(来自API文档)。这个类有一个特性,字符串与任何类型的数据“+”相连接,那么他就变成了字符串,这个操作是通过StringBuilder或者StringBuffer类及其append方法实现的


StringBuffer是字符串缓存区,它的内容可以被修改,长度也可以改变,StringBuffer类是线程安全的,也就是说多个线程可以安全的访问StringBuffer对象。
StringBuffer类,这个类被final关键字修饰,不能够被继承。长度和内容建立后可以被修改。字符串缓冲区都有一定的容量,如果没有超过默认的容量,立即存储,如果超过默认容量,容量会自动增加。还有,她出现在JDK1.0,并且是线程同步的,所以效率略低。


StringBuilder与StringBuffer类似,都是字符串缓冲区,但StringBuilder不是线程安全的,如果你只是在单线程中使用字符串缓冲区,那么StringBuilder的效率会更高些。
StringBuilder类,这个类被final关键字修饰,不能够被继承。她提供一个与 StringBuffer 兼容的 API,StringBuilder的出现就是替代StringBuffer的。StringBuilder是出现在JDK1.5,她是线程不同步的,所以效率略高。  在开发中,优先考虑StringBuilder

值得注意的是StringBuilder是在JDK1.5版本中增加的。以前版本的JDK不能使用该类。

  
作者: 孙百鑫    时间: 2013-6-25 00:08
楼主您好,由于帖子长时间没有动态,我已经讲帖子改成已解决了,如有问题,可以私聊我。
作者: Yaphets    时间: 2013-12-26 00:22
String 是被final修饰的




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