Java中LinkedList类为何无法用List接口引用来实例化

如图所述。众所周知,ArrayList和LinkedList实现了List接口。我在实例化ArrayList对象时用Listlist1=newArrayList();就可... 如图所述。
众所周知,ArrayList和LinkedList实现了List接口。
我在实例化ArrayList对象时用List list1 = new ArrayList();就可以实例化成功并正常的编译和使用。
而在实例化LinkedList对象时用List list2 = new LinkedList();就出错了呢?
改用LinkedList list3 = new LinkedList();就可以正常编译和使用
我使用了list2.addFirst();方法,结果编译不过。看来带First的方法是特有的
展开
 我来答
xfyfcl
2018-12-19
知道答主
回答量:9
采纳率:0%
帮助的人:8109
展开全部
我也遇到了一样的问题,后来想了想,原因应该就是addFirst()和addLast()方法都是LinkedList类和ArrayList类所特有的,List接口中并未定义,所以若是用List接口去创建对象,调用对象的这两个方法时就会报错,必须使用类名进行实例化。
希望有所帮助。
老冯文库
2011-06-01 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8734

向TA提问 私信TA
展开全部
可以。
List list = new LinkedList();
list.add("张三其");
list.add("王五");
for(Object obj : list)
System.out.println(obj.toString());
你应该检查是否是java.util包中的LinkedList类。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2022-08-30
展开全部
我遇到的问题是把类名也命名成LinkedList了,所以List list = new LinkedList();的时候调用的是当前这个自定义的LinkedList类,把类名改成LinkedListDemo就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨色灵犀
2011-06-01 · 超过13用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:25.2万
展开全部
List是接口
LinkedList实现了List 同样也实现了Deque 等接口
List<String> list2=new LinkedList<String>();
这样写时会进行强制类型校验
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mikemelon
2011-06-01 · TA获得超过4594个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1577万
展开全部
没有错啊,如下程序正常编译。
...
public static void main(String[] args){
List list1=new ArrayList();
List list2=new LinkedList();
}
...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式