我目前正在学习数组,我班上的weblesson正在教我关于ArrayList类。我试着制作自己的数组来尝试一下,但是当我按照weblesson向我展示的格式时,我得到一个编译器错误,上面写着:“没有找到合适的方法来添加(java.lang.String)”。同时突出显示“.add”。
import java.util.ArrayList;
public class String
{
ArrayList <String> myArrayList;
public void arrayTest()
{
ArrayList <String> names = new ArrayList <String> ();
names.add("John");
names.add("Smith");
names.add("Matt");
System.out.println(myArrayList.get(1));
}
}
答案 0 :(得分:3)
您的类正在隐藏java.lang.String
,因此用于add
方法的参数与您的自定义String
类之间存在类型不匹配。将其重命名为String
答案 1 :(得分:1)
问题可能是您的班级也被称为String
。我猜测你的ArrayList
的泛型类型而不是Java String
。
答案 2 :(得分:1)
如果您将类命名为String
,会导致编译器混淆,因为已存在内置String
。
你能做什么?
将您的课程重命名为不同的内容:
public class StringTest
或者使用完全限定的类名(我不推荐):
ArrayList <java.lang.String> names = new ArrayList <java.lang.String> ();
答案 3 :(得分:0)
因为您正在命名类String,
中的字符串ArrayList < String > names
指的是您自定义的类类型。因此,只有您定义的'String'对象可以添加到ArrayList,而不是实际的Java Strings。要更正此问题,将您的课程命名为其他内容。