Java中StringBuilder的append方法无法使用:提示‘该类型未定义method append(char)’
问题分析与解决方法
错误原因
你自定义的类名StringBuilder和Java标准库中java.lang.StringBuilder重名了,编译器会优先加载你自己写的这个类,而你的类里并没有实现append(char)方法,因此触发编译错误。
解决方案
有两种简单的修复方式:
- 修改自定义类名:把你的类名改成和标准库不重复的名称,比如
MyStringBuilder,这样编译器会自动使用标准库的StringBuilder:
public class MyStringBuilder { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); for(char ch='a'; ch<='z'; ch++){ sb.append(ch); } System.out.println(sb); } }
- 使用全限定类名:如果不想修改类名,就明确指定使用标准库的
StringBuilder,通过全限定类名java.lang.StringBuilder来声明对象:
public class StringBuilder { public static void main(String[] args) { java.lang.StringBuilder sb = new java.lang.StringBuilder(); for(char ch='a'; ch<='z'; ch++){ sb.append(ch); } System.out.println(sb); } }
内容的提问来源于stack exchange,提问作者Shivam Singh
相关产品推荐
相关产品推荐

