2014-04-22 118 views
1

我對ArrayList和List有疑問。 在這種情況下,我們應該使用ArraryList像:當我們使用引用類型和對象類型

ArrayList obj = new ArrayList(); 

而且在這種情況下,我們應該使用列表界面。

List obj = new ArrayList(); 

他們之間有什麼區別?

+0

搜索[SO](http://stackoverflow.com/search?q=)將提供有關代碼的更多信息,而不是Google搜索 –

+0

Off topic topic:您應該始終包含List或ArrayList的類型,即' ArrayList obj = new ArrayList <>();'或List obj = new List <>();' – DonyorM

+0

如果不想讓我的列表泛型然後? –

回答

0

如果您想要使用ArrayList特定的方法想要第一種情況,否則最好使用第二種情況。對於第二種情況,如果要切換到其他List實現,則不必更改太多。

+0

不介意!!!請給我一些更多的信息:( –

1

如果您需要調用特定於某個實現的方法,請使用該實現。

當你寫:

List obj = new ... //ArrayList() or LinkedList() 

編譯器只知道obj爲List。因此,您不能使用特定於某個實現的方法。

例如,如果您需要訪問LinkedList的最後一個元素,你需要聲明它是這樣的:

LinkedList = obj = new LinkedList(); 

現在,obj是一個LinkedList。因此,您可以使用obj.last()

+0

可以請你告訴我在ArrayList場景中的同一個例子 當我寫ArrayList obj = new ArrayList();和列表lst =新ArrayList(); 在這兩種情況下,我可以得到同樣的方法,那麼什麼是diff? –

+0

@ArvindVishwakarma我不知道任何特定於ArrayList的方法,這個實現只是一個存儲在數組中的列表。 –

相關問題