我已经创建了字符串生成器的对象,并使用它来附加单词。但这会引发错误。
package learningPackage;
public class StringBuilder {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] words = {"This", "is", "a", "sentence", "done","using", "string", "builder"};
StringBuilder mySB = new StringBuilder();
for (String word: words) {
mySB.append(word);
mySB.append(" ");
}
}
}
期望代码能正常工作。但是它在mySB.append(word)上引发了错误。
错误:未为字符串类型定义方法append(string) 建造者
答案 0 :(得分:0)
请重命名类名,它将正常工作。问题是类名冲突。
答案 1 :(得分:0)
这是因为在StringBuilder中没有方法或构造函数以StringBuilder作为参数。 下面是StringBuilderClass中的方法列表:
StringBuilder append(boolean b)
StringBuilder append(char c)
StringBuilder append(char[] str)
StringBuilder append(char[] str, int offset, int len)
StringBuilder append(double d)
StringBuilder append(float f)
StringBuilder append(int i)
StringBuilder append(long lng)
StringBuilder append(Object obj)
StringBuilder append(String s)
出现异常。
StringBuilder上String中不可用的主要操作是append()和insert()方法,它们的重载方式可以接受任何类型的数据。每个参数都将其参数转换为字符串,然后将该字符串的字符追加或插入到字符串生成器中的字符序列中。 append方法始终将这些字符添加到现有字符序列的末尾,而insert方法则将这些字符添加到指定点。
注意:您可以通过使用StringBuilder类的toString()方法首先将字符串生成器转换为字符串,从而对StringBuilder对象使用任何String方法。然后使用StringBuilder(String str)构造函数将字符串转换回字符串生成器。