黑马程序员技术交流社区

标题: 关于StringBuffer的setCharAt()的问题 [打印本页]

作者: 袁培育    时间: 2012-4-18 10:27
标题: 关于StringBuffer的setCharAt()的问题
代码如下:
class StringBufferTset
{
    public static void main(String[]args)
     {
           StringBuffer sb="abcde";
          replaceMethod(sb);
     }
     public static void replaceMethod(StringBuffer sb)
    {
          System.out.println(sb.setCharAt(1,'w'));
    }
}
便已是为什么会出错,说在System.out.println(sb.setCharAt(1,'w'));不允许使用void类型

作者: 张卯    时间: 2012-4-18 10:36
void setCharAt(int index, char ch)
          将给定索引处的字符设置为 ch。
查了API是这么写的,没有返回值,所以不能打印~
作者: 伊文龙    时间: 2012-4-18 10:44
StringBuffer的setCharAt(int index, char ch)方法的是没有返回值的,所以不能打印。
你可以先执行 sb.setCharAt(1,'w')
然后再执行System.out.println(sb);


作者: 黑马-刘昌文    时间: 2012-4-18 11:11
System.out.println(sb.setCharAt(1,'w'));
方法参数传入错误,方法参数类型只接受int型的,你传入的'w'是字符型的
作者: 张明星    时间: 2012-4-18 11:37
StringBuffer sb="abcde";这个也不对吧,Stringbuffer是个缓冲区容器,需要定义缓冲区对象,改成StringBuffer sb=new StringBuffer("abcde");
setCharAt()方法返回值为空,不能打印哦。。。




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