為什么總是使用List<A> a = new ArrayList<A>()來定義容器類對象
為什么總是使用如下形式來定義容器類對象
List<A> a = new ArrayList<A>()
而不是具體的容器類型:
ArrayList<A> a = new ArrayList<A>()
這樣做的目的:
這里總是使用接口List來持有精確的ArrayList類型,是為了方便之后修改 持有對象a的類型纤勒。在保持編碼邏輯不變的情況之下返弹,只需要改變定義的代碼就可以改變a的類型:如下就把ArrayList變更為LinkedList:
List<A> a = new LinkedList<A>()
這里更改類型有什么好處呢抽碌?
這樣就使得a能更快的插入和刪除其持有對象翰铡;同理若把LinkedList改為ArrayList情龄,就能讓a獲得更快的查詢速度灭忠。