它在 method("shruthi")
处显示编译错误,而且编译器发出警告,要求在静态方法中将 StringBuffer
转换为 String。
如果我用 String
替换 StringBuffer
,它就可以正常工作。但我想了解StringBuffer
。请解释为什么这不起作用。
public class Test13{
public static void method1(String s){
System.out.println("String Version");
}
public static void method(StringBuffer sb){
System.out.println("String Buffer Version");
}
public static void main(String a[]){
method1("null");
method("shruthi");
}
}
最佳答案
您使用签名 method(StringBuffer)
定义了一个方法,但您通过 method("shruthi"); 调用它;
错误是:
method(StringBuffer)
需要一个 StringBuffer
对象作为参数,您正在传递一个 String ...
这是编译器提示的一个原因。
关于java - 为什么java编译器提示StringBuffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805242/