最近我一直在閱讀很多Android項目的代碼以獲得更多的理解。我看到的其中一件事是ArrayList實例化的兩種不同方式。爲什麼要爲List對象進行向上轉換? Android/Java語法
請注意這裏顯示的這兩個示例。爲什麼有些人會使用示例1,爲什麼要用示例2來做呢?它們之間的主要區別是什麼?
我理解Java中的向上轉換和向下轉換的概念,並且在這種特殊情況下沒有看到任何優勢。如果你要創建一個arrayList,爲什麼不從一開始就把它存儲在一個ArrayList變量中?
我一直使用例2創建一個新的ArrayList的方式。我不明白什麼是用什麼例子所示的優點1
看起來更多的程序員使用示例1路
例1,使用上溯造型成父變量的
List<String> list = new ArrayList<String>();
實施例2
ArrayList<String> list = new ArrayList<String>();
不同的類沒有真正回答OP的問題(以及示例/情況考慮)。 – Rajesh
這個答案很好,因爲現在我明白了爲什麼使用List變量而不是ArrayList,並且可重用性的好處是一個很好的參數。 – Kevik
@Rajesh很好catch..edited ans – Anirudha