为什么总是使用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获得更快的查询速度。
网友评论