1

我试图了解如何在 Java 中创建数组列表,出于某种原因,我收到一条错误消息,说将 myList 的类型更改为 ArrayList,即使我从关于堆栈溢出的不同帖子中看到了这个示例并且它似乎有效。

我想做的只是创建一个列表,向其中添加三个字符串并遍历它并打印出来。

附带说明一下,是否可以将整数、字符串和对象都添加到同一个列表中?

我很感激这方面的任何指导。

    List myList = new ArrayList(); 


            myList.add("hello");
            myList.add("World");
            myList.add("!");

//print contents
System.out.println(myList);
4

3 回答 3

9

我的猜测是你已经导入了java.util.ArrayList,但没有java.util.List。如果您同时导入两者,则您发布的代码有效:

import java.util.ArrayList;
import java.util.List;

class Test
{
    public static void main(String args[])
    {
        List myList = new ArrayList(); 

        myList.add("hello");
        myList.add("World");
        myList.add("!");

        //print contents
        System.out.println(myList);
    }
}

话虽如此,我强烈建议您使用泛型:

List<String> myList = new ArrayList<String>();
于 2012-09-05T17:00:36.730 回答
1

附带说明一下,是否可以将整数、字符串和对象都添加到同一个列表中?

尽管您可以Object向 a添加任何类型List,但不建议这样做。如果您使用的是 JDK 1.5 或更高版本,则应避免创建不安全的集合并使用Generics.

列表 myList = new ArrayList();

关于这一点,请检查您是否拥有正确的列表。它应该是java.util.List而不是java.awt.List(在 Eclipse 自动建议功能中经常出现在我上面!)

于 2012-09-05T17:00:26.580 回答
1

您应该在列表(列表)中使用字符串类型,而不是泛型(列表)。

        List<String> myList = new ArrayList<String>(); 
        myList.add("hello");
        myList.add("World");
        myList.add("!");
        for(String str : myList){
            System.out.println(str);
        }
于 2012-09-05T17:00:58.717 回答