java list 不能用_你为什么不能在Java中使用“List>”?

泛型类型更迂腐.

列表表示列表或任何子类型,但< List>仅指List.如果你想要一个子类型你需要

我怀疑你可以使用

List> myList = new ArrayList>();

你不能这样做的原因是你可以使用对引用的引用,并且需要额外的间接级别,你必须要小心.

// with one level of indirection its simple.

ArrayList alist = new ArrayList();

List list = aList; // all good

list = new LinkedList(); // alist is still good.

使用泛型,你可以有两个级别的间接,这可以给你带来问题,所以他们更迂腐,以避免这些问题.

// with two levels of indirection

List alist = new ArrayList();

List list = (List) alist; // gives you a warning.

list.add(new LinkedList()); // adding a LinkedList into a list of ArrayList!!

System.out.println(alist.get(0)); // runtime error

版画

Exception in thread "main" java.lang.ClassCastException: java.util.LinkedList

cannot be cast to java.util.ArrayList

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值