小编典典

字符串方法Append():StringBuilder与StringBuffer

java

使用此代码:

  public static void main(String[] args) {

    String s = "Java";
    StringBuilder buffer = new StringBuilder(s);
    change(buffer);

       System.out.println("What's strBuf.charAt(5)? " + strBuf.charAt(3));
       System.out.println(buffer);
  }

     private static void change(StringBuilder buffer) {

          buffer.append(" and HTML");
  }

当我使用StringBuilder运行代码时,出现错误消息

 The constructor StringBuilder(String) is undefined
    The method charAt(int) is undefined for the type StringBuilder

尝试了StringBuffer,它可以工作。StringBuffer对象的内容被编译为“ Java和Eclipse ..”。

  public static void main(String[] args) {

    String s = "Java";
    StringBuffer strbuf = new StringBuffer(s);
    change(strbuf);

               System.out.println("The Stringbuffer.charAt(5) is ? " + strbuf.charAt(3));
           System.out.println(strbuf);
 }

       private static void change(StringBuffer strbuf) {

                       strbuf.append(" and Eclipse");
 }

}


阅读 410

收藏
2020-11-30

共1个答案

小编典典

StringBuilder
确实 有一个接受a
String作为参数
构造函数,并且
确实
一个.charAt()方法(由于实现了它必须实现CharSequence)。

结论:这是您的IDE中的一个不幸,它没有导入正确的StringBuilder。您使用的另一个库具有不幸的“属性”,该库以相同的名称实现了一个类-
但不在同一包中。

如果导入行是,请在文件顶部查看:

import java.lang.StringBuilder;
2020-11-30