package Char3;
public class Demo12 { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
       StringBuilder builder=new StringBuilder();
       builder.append('h').append('i');
       String str=builder.toString();
       System.out.println("构建器里的内容:"+str);
       System.out.println("置换后的内容:"+builder.setCharAt(1,'h'));
}
}  第一条输出是可以的,但是第二条为什么不能输出啊?setCharAt()方法具体怎么应用的啊?

解决方案 »

  1.   

    System.out.println("置换后的内容:"+builder.setCharAt(1,'h'));
    builder.setCharAt(1,'h')
    System.out.println("置换后的内容:"+ builder.toString());
      

  2.   

    关于为什么不能输出 看下函数返回值就知道了。
    setCharAt 的返回值是void  你说能输出啥。
      

  3.   

    那怎么改才能实现setCharAt()方法呢?
      

  4.   

    你写一个类 MyStringBuilder extends  StringBuilder 
    在里面 重写 setCharAt 
      

  5.   

    StringBuilder是final的,怎么继承啊????哪位高手现身,解决下啊,小弟拜求!!!!!!!
      

  6.   

    public class Demo12 {    /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
           StringBuilder builder=new StringBuilder();
           builder.append('h').append('i');
           String str=builder.toString();
           System.out.println("构建器里的内容:"+str);
           builder.setCharAt(1,'h')
           System.out.println("置换后的内容:"+ builder.toString());
        }
    }
    这样应该就可以了吧,重写方法多麻烦。
      

  7.   

    上边忘加个分号了
    builder.setCharAt(1,'h') 
    改为 
    builder.setCharAt(1,'h')