协变数组和类型擦除
来源:互联网 发布:windows10自带录屏软件 编辑:程序博客网 时间:2024/06/05 16:51
1、数组的协变性:
数组的协变性指的是:如果类Base是类Sub的基类,那么Base[]就是Sub[]的基类。
而泛型是不可变的,List<Integer>不是List<Object>的基类,更不会是它的子类。
2、数组的具体化:
数组是具体化的,而泛型在运行时是被擦除的。
数组是在运行时才去判断数组元素的类型约束。
而泛型正好相反,在运行时,泛型的类型信息是会被擦除的,只有编译的时候才会对类型进行强化。
java泛型是编译器泛型,是一种语法糖,生成的二进制代码是没有泛型,jvm感受不到泛型。java的泛型编译生成二进制代码的时候,进行了类型的擦除,放入集合,放入集合的实际上是object类型,从集合中获取对象的时候,获取的是object类型,然后进行了强制类型转换,转换成实际的类型。
阅读全文
0 0
- Java协变数组和类型擦除
- Java 协变数组和类型擦除
- 协变数组和类型擦除
- Java 共变数组和类型擦除
- Java 共变数组和类型擦除
- Java协变(共变)数组和类型擦除(covariant array & type erasure)
- Java 逆变、协变和类型擦除
- Java——协变数组和类型擦除(covariant array & type erasure)
- Java——协变数组和类型擦除(covariant array type erasure)
- Java——协变数组和类型擦除(covariant array ; type erasure)
- Java学习:协变数组和类型擦除(covariant array ; type erasure)
- Java——协变数组和类型擦除以及泛型相关知识
- Java 协变数组和类型擦除(covariant array & type erasure)
- 类型,转换,数组,协变及其他
- Java的协变数组类型
- 类型擦除
- Java中的泛型和类型擦除
- 委托类型协变和逆变的实际意义
- 内存问题
- 彻底理解js中this的指向
- VC++:创建,调用Win32静态链接库
- 使用 ButterKnife annotation 代替 findViewById()
- 软件安装与维护【Linux-shell】
- 协变数组和类型擦除
- 正则表达式入门--xyphf
- [Python]改变图片的分辨率大小
- RK312x机顶盒Android4.4系统编译
- hadoop系列(一) Centos7下安装hadoop
- FMDB
- 黑盒测试用例设计--因果图法
- HttpWebRequest类
- Python 网络爬虫 初试