2013-01-21 34 views
2

在將代碼包含在代碼中並使用List獲取字符串之前,我正在解決一個問題,然後解決它們。我得到了錯誤:「類型List不帶參數List words = new ArrayList();」編譯完成後。我搜索了但我使用的語法是正確的,請問代碼有什麼問題?在Java中使用ArrayList時出錯

import java.util.Scanner; 
import java.util.ArrayList; 

public class List{ 
    public static void main(String args[]){ 
     List<String> words = new ArrayList<String>(); 
     Scanner input = new Scanner(System.in); 
     for (int i=0; i < 3; i++) 
      words.add(input.nextLine()); 
     System.out.println(words); 
    } 

} 
+2

永遠不要使用預先定義的類名作爲你自己的類名。 –

+0

好的,謝謝!我意識到現在:D – Plaix

回答

9

這是你應該爲你自己的類使用唯一的名稱的原因之一。你真的有意使用java.util.List,但是既然你也叫你的類List,真正的問題就被掩蓋了。重命名類,並添加進口爲java.util.List來解決這個問題:

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

public class MyClass{ 
    public static void main(String args[]){ 
     List<String> words = new ArrayList<String>(); 
     Scanner input = new Scanner(System.in); 
     for (int i=0; i < 3; i++) 
      words.add(input.nextLine()); 
     System.out.println(words); 
    } 
} 
+0

OP,請務必關閉輸入。 (NEVERMIND) – jn1kk

+0

@jsn ..真的不需要。 –

+0

@RohitJain,沒關係,你是對的。您不應該關閉System.in。 – jn1kk

0

試試這個:

import java.util.Scanner; 
import java.util.ArrayList; 

public class List{ 
    public static void main(String args[]){ 
     java.util.List<String> words = new ArrayList<String>(); 
     Scanner input = new Scanner(System.in); 
     for (int i=0; i < 3; i++) 
      words.add(input.nextLine()); 
     System.out.println(words); 
    } 

} 

你的類被稱爲列表。所以默認情況下,假定您聲明的列表引用了您的類。

最好避免像List這樣的名字給你的類。