List<? extends > list1 和 List<? super > list2
刚才看了一些博文,这里说一下自己的理解。
List <? extends T> list1 这个基本意思是 所有参数类型是T 子类的list 都能直接赋值给list1.但是由于 list1没有指定自己具体是哪个元素,所以不能直接使用add 方法。之只能通过get 方法取list中,赋值给list1 之前已经有的元素。
List<? super T> list2 能把所有参数类型是T的父类的list 直接赋值给list2, 由于已经确定了这个list2最小的边界就是T ,所以这个list2 在赋值之后还能放T或者T的子类。list2 取值的时候,因为不知道元素是T的哪一个父类,所以取出来的元素只能是object 类型的。
参考文章:https://www.cnblogs.com/chenxibobo/p/9655236.html
https://www.cnblogs.com/drizzlewithwind/p/6100164.html
谢谢以上博主
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)