每日心得--list的使用

  • 数组转的list 不能够增/删,只能够修改。因为数组转的list表面看是list,其实不是平时所使用的那个list,而是一个内部类list,这个list是装饰器模式,内部保存的仍然是数组,对于数组当然不能增/删了。

  • List<?> 不能够add任何对象,除了null。因为?可以是任何类型,编译器不知道具体是什么类型,所以任何和?类型相关的操作都不允许。

  • List<? extends 某个类C>
    • 不能够add任何对象,除了null。因为里面可以存放 C及其子类,最小粒度不确定,比如到底放的是猫呢还是狗不确定,所以无法添加。

    • 可以查询里面的元素,因为里面的元素都可以转化为C,都是C的子类 。
  • List<? super C>
    • 可以添加元素,可以添加 C 元素。因为里面存放的是 C 及其父类,最小粒度是 C 。
    • 获取的时候不知道元素的类型,因为里面的元素有的是C的父类,父类和子类的共同粒度就是Object,所以获取的都是 Object。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值