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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 747437484 中级黑马   /  2013-12-12 22:35  /  1269 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String和StringBuffer的区别??

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

7 个回复

正序浏览
史超 中级黑马 2013-12-13 17:57:32
8#
String就是一个固定长度的字符串,不能增加也不能减少。但是将字符串放到StringBuffer之中,就好比是一个蓄水池,可以将字符串转化为可变字符串,这样更贴近实际情况,以便做判断,这样会更灵活
回复 使用道具 举报
末末 中级黑马 2013-12-12 23:29:55
7#
小斥候 发表于 2013-12-12 22:54
后面的String一般叫做引用

谢谢改正
回复 使用道具 举报
1.String 对一串字符进行操作。不可变类。
2.StringBuffer 也是对一串字符进行操作,但是可变类。
String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.

StringBuffer:
是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
它只能通过构造函数来建立,
StringBuffer sb = new StringBuffer();
note:不能通过付值符号对他进行付值.
sb = "welcome to here!";//error
对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer
中付值的时候可以通过它的append方法.
sb.append("hello");

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
String 类代表字符串。
Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
字符串是常量;它们的值在创建之后不能更改。
字符串缓冲区(StringBuffer)支持可变的字符串。
因为 String 对象是不可变的,所以可以共享。
StringBuffer类是可变字符序列,是字符串缓冲区。
1.字符串(String)的组成原理就是通过该类实现的。
2.StringBuffer可以对字符串内容进行增删
3.StringBuffer:字符串缓冲区,用于存储数据,所以它也被称之为容器
4.StringBuffer是可变长度的
特点:
1.可以添加基本数据和引用数据。添加数据完毕,其实底层都是将其转成字符串进行使用,通过toString方法转成字符串
2.StringBuffer容器和数组不一样,数组是固定长度,而且只能添加同一个类型
而StringBuffer长度是可变的,可以添加不同类型。类型一致的数据,可以使用数组,也可以使用StringBuffer
3.数组添加元素,可以保证数据类型不变。而StringBuffer添加数据以后,全变成字符串。
4.StringBuffer可以对字符串进行修改。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
末末 发表于 2013-12-12 22:48
String一初始化就不会改变了,而StringBuffer可以改变
这里str指向了另一个对象,但是“abc”还存在
而s还 ...

后面的String一般叫做引用
回复 使用道具 举报
本帖最后由 Kyle 于 2013-12-12 23:29 编辑

    StringBuffer是可变字符序列。
    String是不可变的,一旦被初始化,就不能改变。

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
String一初始化就不会改变了,而StringBuffer可以改变
  1. StringBuffer s=new StringBuffer();
  2.            s.append("one");
  3.            String str="abc";
  4.            str="efd";
复制代码

这里str指向了另一个对象,但是“abc”还存在
而s还是同一个对象

评分

参与人数 1技术分 +1 收起 理由
贺奕凯 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马