黑马程序员技术交流社区

标题: 类之间的转换 [打印本页]

作者: 不羁的风1230    时间: 2014-5-22 21:53
标题: 类之间的转换
将StringBuffer转换成String是怎么回事
作者: 邵镛    时间: 2014-5-22 22:00
具体不太清楚楼主的意思。 常用的是
StringBuffer sb = new StringBuffer("abc");
String s= sb.toString();
作者: chenzhiyuan    时间: 2014-5-22 22:38
楼上说的没错,是这样StringBuffer 是一个缓冲字符串数组,按1.5倍的扩展容量,处理字串最好的工具,
作者: 凌羽猎风    时间: 2014-5-22 22:40
String和StringBuffer他们都可以存储和操作字符串,即包含多个字符的字符串数据。
String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。

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


作者: shisaa    时间: 2014-5-22 23:44
我认为楼主是想知道,StringBuffer转换成String,发生了什么改变。所以我用这两者的一些特性来回答楼主。
1. 两者都用来表示字符串。(废话)
2. StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,使用StringBuffer要更加适合一些。
Java新人,若有不当,还望指出。
作者: hamiguadjs    时间: 2014-5-23 01:07
       根据楼主的问题,应该是希望了解为什么要进行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,说明其存在的必要性,另外,对象之间相互转换的意义更在于可以使用转换的对象的方法。




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