(25):列表优先于数组
来源:互联网 发布:c语言float是什么意思 编辑:程序博客网 时间:2024/06/06 05:00
数组是协变的(convariant),如果Sub是Super的子类型,那么数组类型Sub[]就是Super[]的子类型。
Object[] obs=new Long[1]; obs[0]="hhe";这是可以的
泛型却是不可变的,List<Sub>不是List<Super>的子类型。
List<Object> list=new ArrayList<Long>();//编译错误list.add("hhe");
数组是具体化的(reified),因此数组在运行时才知道并检查它们的元素类型约束。
泛型则是通过擦除(erasure)来实现,因此泛型只在编译时强化它们的类型信息,并在运行时丢弃(或者擦除)它们的元素类型约束。擦除就是使泛型可以与没有使用泛型的代码随意进行互用。
所以一般来说,数值和泛型不能互用,所以发现错误第一反应就应该是用列表代替数值。
0 0
- (25):列表优先于数组
- effective java(25) 之列表优先于数组
- 第25条:列表优先于数组
- 第25条:列表优先于数组
- 第25条 泛型——列表优先于数组
- 第二十五条:列表优先于数组
- Effective Java(列表优先于数组)
- 《Effective java》读书记录-第25条-列表优先于数组
- vector和string优先于动态分配的数组
- vector和string优先于动态数组的分配
- EffectiveJava(16)复合优先于继承
- (16):复合优先于继承
- (18):接口优先于抽象类
- (35):注解优先于命名模式
- 学习笔记:数组成员初始化于构造函数初始化列表
- 复合优先于继承
- 复合优先于继承
- 复合优先于继承。
- 对象的创建与销毁
- 露台花园的装修设计原则
- hdu_1864
- java程序员从入门到放弃资源大放送(文末附下载地址)
- webpack 时时编译
- (25):列表优先于数组
- PS学习小结(2)
- Mac环境下安装Hadoop伪分布模式
- sql语句优化之一:尽量使用索引避免全表扫描
- ConcurrentHashMap的实现原理
- node.js初识-千里之行始于足下
- iOS-UIWebView加载html,文字大小颜色设置,图片自适应设置
- 解决两个虚拟机网络适配器都为NAT模式,其中一台无法上网的情况
- 移动端弹出层上禁止页面滚动