Java随机数之ThreadLocalRandom学习
[TOC]
文章参考:https://www.cnblogs.com/en-heng/p/5041124.html
Java泛型的逆变与协变用来描述类型转换(type transformation)后的继承关系。
其定义:如果A、B表示类型,f(⋅)表示类型转换,≤表示继承关系(比如,A≤B表示A是由B派生出来的子类)
f(⋅)是逆变(contravariant)的,当A≤B时有f(B)≤f(A)成立;
f(⋅)是协变(covariant)的,当A≤B时,有f(A)≤f(B)成立;
f(⋅)是不变(invariant)的,当A≤B时上述两个式子均不成立,即f(A)与f(B)相互之间没有继承关系。
数组是协变的
Java中数组是协变的,可以向子类型的数组赋予基类型的数组引用,请看下面代码。
1 | // CovariantArrays.java |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 麦溪·在路上!
评论
ValineDisqus