gpt4 book ai didi

java - 字符串方法Append() : StringBuilder vs StringBuffer

转载 作者:行者123 更新时间:2023-12-01 07:09:30 24 4
gpt4 key购买 nike

使用此代码:

  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");
}

}

最佳答案

StringBuilder constructor accepting a String as an argument ,并且确实a .charAt() method (它必须实现它,因为它实现了 CharSequence)。

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

去文件顶部查看导入行是否为:

import java.lang.StringBuilder;

关于java - 字符串方法Append() : StringBuilder vs StringBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17173314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com