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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不羁的风1230 中级黑马   /  2014-5-22 21:53  /  1073 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

将StringBuffer转换成String是怎么回事

5 个回复

倒序浏览
具体不太清楚楼主的意思。 常用的是
StringBuffer sb = new StringBuffer("abc");
String s= sb.toString();
回复 使用道具 举报
楼上说的没错,是这样StringBuffer 是一个缓冲字符串数组,按1.5倍的扩展容量,处理字串最好的工具,
回复 使用道具 举报
String和StringBuffer他们都可以存储和操作字符串,即包含多个字符的字符串数据。
String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。

我是这么理解的,将StringBuffer转换成String,简单来说,可以看成是赋值,类似于
int a;//定义一个变量
a=1;//给这个变量赋值
这个操作

回复 使用道具 举报
我认为楼主是想知道,StringBuffer转换成String,发生了什么改变。所以我用这两者的一些特性来回答楼主。
1. 两者都用来表示字符串。(废话)
2. StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,使用StringBuffer要更加适合一些。
Java新人,若有不当,还望指出。
回复 使用道具 举报
       根据楼主的问题,应该是希望了解为什么要进行StringBuffer和String的相互转换,也即转换的必要性。那么,就应该先明确StringBuffer和String是不同的,它们最大的不同的是:
      String类是字符串常量,是不可更改的;
      StringBuffer字符串变量,它的对象是可以扩充和更改的。
      然后,说明String类和StingBuffer是如何转换的(通过代码来说明):
  1.         //String 转换为StringBuffer
  2.         //方式一:
  3.         StringBuffer buffer = new StringBuffer("hello");
  4.         //方式二:
  5.         buffer.append("world");
  6.                
  7.         //StringBuffer 转换为 String
  8.         String str = buffer.toString();
复制代码

       由以上的代码可知,Java中提供了StringBuffer类和String类相互之间转换的API,说明其存在的必要性,另外,对象之间相互转换的意义更在于可以使用转换的对象的方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马