2013-05-10 74 views
1

我正在學習Java,我被困在這個ArrayList問題:編譯器給我錯誤,當我嘗試使用簡單的方法,如add。以下是代碼:ArrayList方法不起作用

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"); 
    } 
} 

該方法在the Javadoc中定義。

它應該很簡單,但我真的不知道我在這裏做錯了什麼。

+0

您需要提供您收到的錯誤。想想如果有人向你走來,並說「編譯器給我錯誤,當我嘗試使用簡單的方法,如添加」什麼是你的第一個問題....什麼是錯誤?... – Sorceri 2013-05-10 22:53:39

+1

順便說一下,使用仿製藥。 'list'變量應該被定義爲一個'List ',並且初始化爲一個新的ArrayList (),或者Java 7中的一個新的ArrayList <>()。 – 2013-05-10 22:54:45

回答

22

您已創建屬於自己的ArrayList類,且未使用built-in Java class。您尚未定義add

+0

double upvote ... – 2013-05-10 22:57:23

+0

@Downvoter:爲什麼downvote?我對這個問題的分析是正確的。 – rgettman 2013-05-10 23:03:04

+0

我幾乎陷入了陷阱(原始類型)。 – arynaq 2013-05-10 23:04:05

-2

爲什麼要創建一個名爲ArrayList的新類?當然你想要做類似的事情:

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

3

更改您的代碼

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

這會告訴你想要的預定義的ArrayList,而不是你新定義的ArrayList中的編譯器。

-2

ArrayLists必須以與標準數組不同的方式進行初始化。

你需要的是這樣的:

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

請記住,幾乎所有的Java是一種Object

所以,你可以這樣做:

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

不過的ArrayList的最強大的功能,我使用他們的原因,是當你開始做你自己的類 - 例如,在遊戲開發,共同類人們提出的是一個Sprite - 你可以創建所有的精靈,如下面的ArrayList:

public class Sprite {}.... 
ArrayList<Sprite> spriteList = new ArrayList<Sprite>(); 
+2

-1。這個答案不但沒有正確解決,問題在於它提出了'ArrayList ',這在標準Java中是無效的。 – wchargin 2013-05-10 23:08:08

+0

不知道Int類... – 2013-05-10 23:09:38

+0

@WChargin - 更改爲Integer作爲對象,而不是int。對這個錯誤感到抱歉。 -_- – Singular1ty 2013-05-10 23:31:45

-1

ublic類的ArrayList {

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

}

你的類名是ArrayList的嘗試更改名稱和進口ArrayList類封裝

0

答案很簡單。只需將您的班級名稱ArrayList更改爲其他內容,因爲ArrayList是Java中的默認班級。

+0

「默認班級」是什麼意思? – rgettman 2014-12-15 19:32:58

+0

我的意思是在java中預定義的類 – 2014-12-16 20:03:44