0
這兩個列表有什麼區別?Java對象差異
ArrayList<String> list1 = new ArrayList<String>(2);
List<String> list2 = new ArrayList<String>(2);
這兩個列表有什麼區別?Java對象差異
ArrayList<String> list1 = new ArrayList<String>(2);
List<String> list2 = new ArrayList<String>(2);
這兩個列表之間沒有區別,每次創建ArrayList
時都是如此。
區別在於ArrayList implements List
,這是一個接口。
在您的代碼中,如果您引用接口而不是具體實現,您可以在任何時候替換List
的實際實現。
list2的類型是List,因此稍後可以更容易地更改確切類型(而不是使用ArrayList)。在list1中,類型是顯式的ArrayList。
您應該儘可能地使用更一般的(使用列表),因爲這更靈活。
一個是List,一個是ArrayList。 List是一個接口,ArrayList是該接口的一個實現。 –