今天写一道LeetCode的题的时候,遇到了List<String>,在new的时候,IDEA的智能提示出现了很多覆盖的方法,我突然觉得奇怪,又想到之前看到的List list = new ArrayList(),就百度了一下。
List类是一个接口类,它继承了 Collection 接口。
List有两个重要的实现类:ArrayList 和 LinkedList。
所以
List<String> list = new ArrayList<String>();//正确
List list = new List(); //错误
这就是接口类不能new,只能用实现了该接口的类来实例化。