通常聲明類型是接口類型,初始化部分有實現類型。 List<String> list = new ArrayList<String>
和ArrayList<String> list = new ArrayList<String>
之間有什麼不同?多態性旁邊有什麼區別?列表<String> list = new ArrayList <String>和ArrayList <String> list = new ArrayList <String>之間有什麼不同?
回答
List是一個接口,ArrayList是它的implimentation類。 我們不能創建接口的對象,因爲它們是抽象的,但我們可以創建僅僅是List列表的接口的引用。 使用這個引用我們可以調用ArrayList的方法。
這不回答這個問題。它沒有回答使用'List <..>'或'ArrayList <..>'作爲變量類型的區別。 – Tom
沒有重要的區別。但是,如果你使用這樣的
void doSomething(List list)
{}
你可以使用它擴展List類的任何對象,但如果你使用這樣的 無效DoSomething的(ArrayList的列表) {} 只能使用ArrayList對象和其子類。
謝謝你,有沒有在未來的代碼編輯方面的任何easyness如果我使用接口(例如:列表
是,抽象是面向對象的原則之一 –
你可以給我一個例子!? ;) –
- 1. 爲什麼我們寫ArrayList <ArrayList <Integer>> list = new ArrayList <>();
- 2. List <Object> listObject = new ArrayList <Object>()?
- 3. Arraylist <Interger> vs int [] list = new int [3];
- 4. 列表<String> stringList = new ArrayList <String>()和列表<String> stringList = new ArrayList()是什麼區別?
- 5. 多態性:爲什麼使用「List list = new ArrayList」而不是「ArrayList list = new ArrayList」?
- 6. 如何顯示 - ArrayList <Integer[]> lista = new ArrayList <>()
- 7. static Hashtable <Leader,ArrayList <Integer>> assignedLeader = new Hashtable <Leader,ArrayList <Integer>>(20);
- 8. 使用列表<ClassName> abc = new ArrayList <ClassName>();
- 9. 列表<String> log = new ArrayList <String>();
- 10. ArrayList <String>和ArrayList <>之間的區別?
- 11. 有什麼用的List <NameValuePair>或ArrayList <NameValuePair>
- 12. 爲什麼我不能寫`List <T> l = new List <T>();`在Java中?
- 13. 什麼是「列表<Integer> list = new ArrayList <Integer>();」其實是什麼意思?
- 14. List l = new ArrayList <Number>(); l的靜態類型是List <Number>?那是什麼意思?
- 15. new ArrayList <Set<?>>() - 爲什麼它可以?
- 16. List <? super B> lsb = new ArrayList <A>();在Java中的邏輯錯誤?
- 17. ArrayList <Object <ArrayList <Object> >>
- 18. new ArrayList <Integer>();在Java中
- 19. ArrayList <?>,ArrayList,ArrayList <Object>有什麼區別?
- 20. 理論:列表聲明Object list = new ArrayList();
- 21. 差異列表<Integer>升=新的ArrayList()和List<Integer>升=新的ArrayList <integer>()
- 22. ArrayList <>()和ArrayList <>(){}之間的區別
- 23. Java創建列表問題列表<Type> myList = new ArrayList <Type>();
- 24. 用C#中的List <>替換ArrayList
- 25. ArrayList <Integer> a [];有什麼區別?和ArrayList <Integer> a ;?
- 26. ArrayList <ArrayList <String>> vs ArrayList <Object>
- 27. 按鍵排序映射<ArrayList,List <Entity>> - ArrayList設置日期
- 28. 轉換ArrayList <ArrayList <String>>「返回」ArrayList <String>
- 29. 如何將ArrayList <Object>轉換爲ArrayList <String>或ArrayList <Timestamp>?
- 30. ArrayList <> vs ArrayList <Integer>
提示:我花了不到10秒鐘才找到這個答案。下一次,請**您**嘗試做前面的研究。 – GhostCat