A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Wen丶 中级黑马   /  2013-6-19 14:47  /  1783 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String是一个字符串对象。字符串一旦被创建,就不可以被改变。
StringBuffer是一个可以操作的字符串。
StringBuilder跟StringBuffer操作是一样的,StringBuffer里面有锁,是线程安全的。StringBuffer没有锁,但是运行速度快。
所以单线程的时候使用StringBilder 多线程的时候StringBuffer。。
说的不是很详细,那位大神帮忙补充下。。

评分

参与人数 2技术分 +1 黑马币 +1 收起 理由
Akm + 1 楼主的帖子 有明显的错误 望修改 免得误导.
孙百鑫 + 1

查看全部评分

5 个回复

倒序浏览
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不能使用该类。

  

点评

String是被final修饰的类,这个我刚查了文档了,你说错了,改下吧  发表于 2013-8-5 22:49

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1

查看全部评分

回复 使用道具 举报
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不能使用该类。

  
回复 使用道具 举报
楼主您好,由于帖子长时间没有动态,我已经讲帖子改成已解决了,如有问题,可以私聊我。
回复 使用道具 举报
String 是被final修饰的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马