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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张卫刚 中级黑马   /  2013-3-13 12:16  /  1211 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张卫刚 于 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());
        

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

3 个回复

正序浏览
toString()方法,就是把你append的内容转换成一个可以被用于输出的字符串对象。
回复 使用道具 举报
StringBuffer是构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。该字符串的初始容量为 16 加上字符串参数的长度。 而toString返回此序列中数据的字符串表示形式。分配一个新的 String 对象,并将它初始化,以包含当前由此对象表示的字符串序列。然后返回此 String。对此序列的后续更改不影响该 String 的内容。 说白了就是toString 方法把StringBuffer中所有的字符串给串成一串,打印出来

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
直接打印的时候,默认调用toString方法。
需要对sb中的字符串进行操作的时候才调用toString

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

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