Java基本学习:数组--协变性
来源:互联网 发布:js图片自动轮播 编辑:程序博客网 时间:2024/06/10 05:11
今天在看书的时候看到了数组协变性,第一次看到,记录下!
首先是概念 协变性(covariant) :如果类Base是类Sub的父类,那么Base[]就是Sbu[]的父类
Object[] ob = new String[10]; ob[5] = 10;
上面代码运行时是会报错:
Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer
通过资料 了解到Java设计之初,人们想给它做泛型,但是没时间做,所以把数组设计成协变了,这样也导致了无穷的后患。
作对比而言,我们还需要了解泛型是不可变的(invariant)
// List<Object> list = new ArrayList<String>();
上面代码编译时就会报错!!
这些表现说明了Java中数组是具体化(reified),而泛型在运行时是被擦除的(erasure)
记录点点滴滴,爱Java,爱生活!
0 0
- Java基本学习:数组--协变性
- Java 协变性 逆变性 学习笔记
- java 协变性 逆变性 学习笔记
- Java 协变性 逆变性
- 数组的协变性与范型的不可变性
- C#中的协变性与逆变性, Part Two: 数组协变性
- java 协变性和兼容性
- java里的协变性与逆变性
- JAVA String 不可变性 / Hibernate_Validator学习
- java的协变性之于数组及list的分析。
- 以java为例理解协变性
- 关于Java协变性的思考
- java学习笔记24——String类不可变性
- C#的协变性和逆变性
- C#中的协变性与逆变性
- Java基础:泛型及其擦除性、不可协变性
- Java基础:泛型及其擦除性、不可协变性
- Java基础:泛型及其擦除性、不可协变性
- 一个ubuntu服务器的网络不能问题
- GNS3: Qemu or VirtualBox?
- java基本类型的最大最小值以及溢出测试
- AIX下设置ASM的共享访问
- [置顶] Android网络通信Volley框架源码浅析(三)
- Java基本学习:数组--协变性
- ewqfasdfawe
- 1、VS编程初学第一章:文件读写操作
- swift2.0 学习笔记Fifteen
- 关于自定义ViewGroup的理解和ViewDraghelper的使用
- 互联网
- iOS-App提交App Store上线被拒原因
- 【Redis基础】Redis3.0集群问题集锦
- Nodejs学习 2 -- events事件处理EventEmitter