2012-09-05 103 views
1

我想了解如何在Java中创建数组列表,出于某种原因,我得到一个错误,说要将myList的类型更改为ArrayList,即使我从堆栈上的其他帖子中看到此示例溢出,它似乎工作。字符串列表无法创建

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

在附注中,是否可以将整数,字符串和对象全部添加到同一个列表中?

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

List myList = new ArrayList(); 


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

//print contents 
System.out.println(myList); 
+1

什么是确切的错误? – Vikdor

+0

类型不匹配:无法从ArrayList转换为List,但是,我想知道为什么上面的代码适用于某些人但不适合我... – AnchovyLegend

+0

请参阅下面有关导入右列表的注释。 – Vikdor

回答

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>(); 
+0

谢谢。正是我需要的:) – AnchovyLegend

1

在一个侧面说明,是否有可能加入整数,字符串和对象都在同一个列表?

虽然你可以在任何类型的Object添加到List,所以不推荐。如果您使用的是JDK 1.5或更高版本,则应避免创建不安全的集合并使用Generics

List myList = new ArrayList();

对此,请检查您是否有正确的列表。它应该是java.util.List,而不是java.awt.List(通常上述出现在Eclipse中自动建议功能对我来说!)

+0

我没有问泛型,但没问题。另外,我正在使用正确的列表。 – AnchovyLegend

+0

然后检查您是否使用了正确的ArrayList,即'java.util.ArrayList'。 – Vikdor

1

你应该在你的列表中使用字符串类型(名单)而不是通用(List)。

 List<String> myList = new ArrayList<String>(); 
     myList.add("hello"); 
     myList.add("World"); 
     myList.add("!"); 
     for(String str : myList){ 
      System.out.println(str); 
     }