1

我正在学习 Java,但我遇到了这个ArrayList问题:当我尝试使用简单的方法时,编译器给了我错误,比如add. 这是代码:

public class ArrayList {

    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add("Value A");
        list.add("Value B");
        list.add("Value C");
    }
}

该方法在Javadoc中定义。

做起来应该很简单,但我真的不知道我在这里做错了什么。

4

6 回答 6

24

您已经创建了自己的ArrayList类并且没有使用内置的 Java 类。你还没有定义add.

于 2013-05-10T22:50:31.533 回答
4

将您的代码更改为

java.util.ArrayList list = new java.util.ArrayList();

这将告诉编译器您想要预定义的 ArrayList,而不是新定义的 ArrayList。

于 2013-05-10T22:58:04.530 回答
0

答案很简单。只需将您的类名更改ArrayList为其他名称,因为ArrayList它是 Java 中的默认类。

于 2014-12-15T19:30:18.960 回答
-1

公共类 ArrayList {

public static void main(String[] args) {
    ArrayList list = new ArrayList();
    list.add("Value A");
    list.add("Value B");
    list.add("Value C");
}

}

你的 className 是 ArrayList 尝试更改名称并导入 ArrayList 类包

于 2013-05-11T06:06:13.877 回答
-2

为什么要创建一个名为 ArrayList 的新类?当然你想做类似的事情:

ArrayList<String> list = new ArrayList<String>();
list.add("Value A");
list.add("Value B");
list.add("Value C");

?

于 2013-05-10T22:53:34.513 回答
-2

ArrayList 的初始化必须与标准数组不同。

你想要的是这样的:

ArrayList<Object> list = new ArrayList<Object>();
list.add(Object o);

请记住,Java 中几乎所有内容都是Object.

所以你可以这样做:

ArrayList<String>...
ArrayList<Integer>...

但是 ArrayLists 最强大的特性,也是我使用它们的原因,是当你开始制作自己的类时——例如,在游戏开发中,人们制作的常见类是 Sprite——你可以创建一个包含所有 sprite 的 ArrayList,如下所示:

public class Sprite {}....
ArrayList<Sprite> spriteList = new ArrayList<Sprite>();
于 2013-05-10T23:03:19.193 回答