java 初始化StringBuffer为什么会出现下面这种错误:The constructor StringBuffer(String) is undefined

是这样的,想请讲解下,java 初始化StringBuffer为什么会出现下面这种错误:The constructor StringBuffer(String) is undefined
最新回答
等痕迹变成年轮

2024-11-26 22:33:18

类名和StringBuffer重复了,编译器不知道要用谁, 加上包名java.lang.StringBuffer。

StringBuffer对象的初始化:

StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。

StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等,这个也是StringBuffer和String类的主要区别。

月亮不是地上霜

2024-11-26 08:59:18

你的类名和StringBuffer重复了,编译器不知道要用谁, 加上包名java.lang.StringBuffer
步信停云

2024-11-26 08:38:22

你自己建的类 冲突了!
你自己的public class 是 StringBuffer 。
所以下面默认引用了这个类的构造器。但是默认的构造器是无参的。
所以就会报你这个构造器为定义。
解决办法就是:换掉你这class的名字。
只想待在家

2024-11-26 09:56:08

你当前的类名就叫StringBuffer,,但是你没有创建带参构造器,所以new的时候不要传参,直接new StringBuffer();
如果你想引用java提供的StringBuffer,就要将其import进来,或将你的类名改掉
追问

用Eclipse就没有错,MyEclipse10是不是缺少jar,不传参怎么初始化呢!新手很迷茫

追答
因为你在eclipse里面new的时候是调用的java提供的啊,java提供的StringBuffer是有接受字符串构造器的,当然不会出错
你将在myeclipse的类名改掉吧,不要用StringBuffer这个名字就可以了
另外java提供的StringBuffer是有无参构造器的,不传参也可以,不是说一定要传参数才能初始化
王牌冤家

2024-11-26 10:34:07

StringBuffer.java 这个类名和jdk里的冲突了,
把StringBuffer.java这个类名改一下。
或者写一个构造函数。