此代码的含义。 为什么List = LinkedList
List<String> list1 = new LinkedList<String>();
List<String> list2 = new LinkedList<String>();
答案 0 :(得分:1)
因为List
是一个接口,可以分配给任何实现类。 LinkedList
实施List
,因此作业合法。请参阅programming to an interface。
答案 1 :(得分:0)
您会看到该语言的设计功能。
List是一个通用的API,由
从其他类型中删除public interface List<T> ...
public int size();
public T get(int i);
其中实现类如此指定:
public class LinkedList implements List ...
publlc class ArrrayList implements List ...
通过将变量声明为该“接口”,您可以将实现保持打开状态(例如,将来更改或重新分配另一个对象)。你没有过度指定变量。)
这也允许函数处理任何类型的List。
void f(List list) { ... }
其他一些更简单的语言没有这个选择,有一种List,一种Map,一种Set。通过允许程序员选择实现,可以获得技术质量。就像选择汽车品牌而不是汽车一样。