黑马程序员技术交流社区

标题: String和StringBuffer new对象疑问 [打印本页]

作者: 李健_8    时间: 2012-10-12 12:36
标题: String和StringBuffer new对象疑问
本帖最后由 李健_8 于 2012-10-12 13:30 编辑

String str=new String(new StringBuffer("abc"));
我表示这个有点看不懂  new  String()不就是一个对象吗  里面的newStringBuffer()不也是一个对象吗  这就让我有点糊涂了
作者: 杨政    时间: 2012-10-12 12:48
String str=new String(new StringBuffer("abc"));

new StringBuffer("abc")是一个char[]数组。

这个String构造函数直接把StringBuffer的char[]数组返回给了String对象。
作者: 张忠豹    时间: 2012-10-12 12:50
String str=new String(new StringBuffer("abc"));
我表示这个有点看不懂  new  String()不就是一个对象吗  里面的newStringBuffer()不也是一个对象吗  这就让我有点糊涂了

这不就是将StringBuffer类型内容为“abc”的变量,转换成String类型的变量嘛!
看不懂上面的看这个,意义差不多:
       String str=new StringBuffer("abc").toString();
或者:String str11=new StringBuffer("abc")+"";
反正都是转换成字符串。
作者: 王虎    时间: 2012-10-12 13:02
new StringBuffer("abc")
调用StringBuffer的一个构造函数StringBuffer(String str),意思就是说:构造一个字符串缓冲区,并将其内容初始化为"abc”。
new String(new StringBuffer("abc")
调用String类的一个有参构造即String(StringBuffer buffer),相当于分配一个新的字符串,它包含字符串缓冲区参数中当前包含的字符序列。





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