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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

先谢谢各位了

点评

在论坛里面找一下,或者参考下3楼的建议!很容易的  发表于 2012-6-4 00:09

4 个回复

倒序浏览
本帖最后由 黑马张扬 于 2012-6-3 23:50 编辑

String 对一串字符进行操作。不可变类。

StringBuffer 也是对一串字符进行操作,但是是可变类。


String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.然后把引用指向新的对象
String 是final类,即不能被继承.

StringBuffer:
是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
它只能通过构造函数来建立
StringBuffer sb = new StringBuffer();

不能通过赋值值符号对他进行赋值
需要赋值的时候可以通过它的append方法.
sb.append("java");

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

回复 使用道具 举报
刚回答了一个这样的问题。请楼主在提问题前好好的在百度中搜一下很容易解决,这是程序员的一贯做法。下面回答问题:
没多少区别~~~~String 对值进行改变的时候 无论变成什么 原来的字符串内存都不会用到~ 都会产生一个新的字符串  或者说 String 声明的字符串是不可以改变的
而StringBuffer 缓冲字符串~ 它声明的变量的值是可以改变的~ 可以在某字符串的基础上删除替换其中某一个字符 而不需要生成一个新的字符串~~~一般来说 推荐使用StringBuffer
回复 使用道具 举报
String 类的对象 一旦创建就不可改变 对String 对象进行修改时,会开辟一个新的内存放如新的值
String 是final类,即不能被继承.

StringBuffer: 是一个字符串缓冲区,是一个容器。线程同步
特点
1 长度可变
2 可以同时操作多种数据类型
3 可以通过toString返回一个String类型数据。
回复 使用道具 举报
论坛里,已经有人问过问题了,可以先在论坛里搜下再提问的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马