为什么要将数据库'Apples'提取到List而不是ArrayList,Vector或LinkedList?

kws*_*kws 2 java oop

我在文本中看到了这样的例子,并且不确定他们为什么这样做.假设您从数据库中获取了一堆Apple对象:

List<Apple> appleList = (List<Apple>) db.getApples()
Run Code Online (Sandbox Code Playgroud)

为什么要转换List<Apple>为一个具体的List类型(ArrayList,Vector或LinkedList)?

tan*_*ens 5

方法的用户db.getApples()不应该关心这是a ArrayList,a LinkedList等.这是一个实现细节.

在构造数据结构时,您应该只指定具体的数据结构类型.之后,您应该参考适合您需求的界面.

这样,您可以毫无困难地更改数据结构的具体类型.