黑马程序员技术交流社区

标题: StringBuffer问个小问题 [打印本页]

作者: 张卫刚    时间: 2013-3-13 12:16
标题: StringBuffer问个小问题
本帖最后由 张卫刚 于 2013-3-13 14:02 编辑

        StringBuffer sb = new StringBuffer();
                sb=sb.append('a').append(4).append("rr");
                sop(sb.length());
                sop(sb);//直接打印sb就输出字符了,为什么还要sb.toString()呢?
                sop(sb.toString());
        
作者: 曾钦    时间: 2013-3-13 12:31
直接打印的时候,默认调用toString方法。
需要对sb中的字符串进行操作的时候才调用toString
作者: wanggang    时间: 2013-3-13 12:32
StringBuffer是构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。该字符串的初始容量为 16 加上字符串参数的长度。 而toString返回此序列中数据的字符串表示形式。分配一个新的 String 对象,并将它初始化,以包含当前由此对象表示的字符串序列。然后返回此 String。对此序列的后续更改不影响该 String 的内容。 说白了就是toString 方法把StringBuffer中所有的字符串给串成一串,打印出来
作者: 牛合超    时间: 2013-3-13 12:49
toString()方法,就是把你append的内容转换成一个可以被用于输出的字符串对象。




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