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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© @coffee 中级黑马   /  2015-1-5 12:54  /  1634 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class  StringBufferDemo
{
        public static void sop(Object str)
        {
                System.out.println(str);
        }
        public static void main(String[] args)
        {               
               
                StringBuffer sb1 = new StringBuffer();
                sb1.append(34).append("asd").append(false);
                //sb1.charAt(0);
                //sb1.length();
                sb1.indexOf('s');
                sop(sb1.length());
        }
}

7 个回复

倒序浏览
你可以把StringBuffer理解为一个容器,append是往容器内添加元素的,indexOf(s),判断容器内是否有s这个元素,如果有返回下标,length是容器大小
回复 使用道具 举报
  sb1.indexOf('s');这一句改成sb1.indexOf("s");
回复 使用道具 举报 1 0
清诗纪事 发表于 2015-1-5 20:28
sb1.indexOf('s');这一句改成sb1.indexOf("s");

:handshake
回复 使用道具 举报
已经有人解决了……
回复 使用道具 举报
补充一下为什么

sb1.indexOf('s');这一句要改成sb1.indexOf("s");

indexOf(int ch)
indexOf(int ch, int fromIndex)
indexOf(String str)
indexOf(String str, int fromIndex)

('s')表示的是字符,而indexOf()方法接受的是字符串,所以要用到("")

另外你取得了s在字符串缓冲区对象中所在的位置,但没写输出打印的代码

            int flag = sb1.indexOf("s");
            sop(sb1.length());
            sop(flag);

强迫症把它补上了. . . .  .
回复 使用道具 举报 1 0
-律- 发表于 2015-1-5 22:58
补充一下为什么

sb1.indexOf('s');这一句要改成sb1.indexOf("s");

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