Java中LinkedList类为何无法用List接口引用来实例化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中LinkedList类为何无法用List接口引用来实例化相关的知识,希望对你有一定的参考价值。
如图所述。
众所周知,ArrayList和LinkedList实现了List接口。
我在实例化ArrayList对象时用List list1 = new ArrayList();就可以实例化成功并正常的编译和使用。
而在实例化LinkedList对象时用List list2 = new LinkedList();就出错了呢?
改用LinkedList list3 = new LinkedList();就可以正常编译和使用
我使用了list2.addFirst();方法,结果编译不过。看来带First的方法是特有的
希望有所帮助。 参考技术A 可以。
List list = new LinkedList();
list.add("张三其");
list.add("王五");
for(Object obj : list)
System.out.println(obj.toString());
你应该检查是否是java.util包中的LinkedList类。本回答被提问者采纳 参考技术B 我遇到的问题是把类名也命名成LinkedList了,所以List list = new LinkedList();的时候调用的是当前这个自定义的LinkedList类,把类名改成LinkedListDemo就好了 参考技术C List是接口
LinkedList实现了List 同样也实现了Deque 等接口
List<String> list2=new LinkedList<String>();
这样写时会进行强制类型校验 参考技术D 没有错啊,如下程序正常编译。
...
public static void main(String[] args)
List list1=new ArrayList();
List list2=new LinkedList();
...
以上是关于Java中LinkedList类为何无法用List接口引用来实例化的主要内容,如果未能解决你的问题,请参考以下文章
JDK1.8源码——java.util.LinkedList 类
用 ArrayList 还是 LinkedList?看完你就懂了!
用 ArrayList 还是 LinkedList?看完你就懂了!