简体中文
外观
Norm 的参数化类型保持不变。List<Circle> 与 List<Shape> 是不同类型,二者不可直接赋值;nullable 也不会改变这一规则。
List<Circle>
List<Shape>
存在类型投影 ? 隐藏一个已经存在的类型实参。方法返回值直接使用被隐藏参数时,读取结果采用声明上界;没有约束时采用 Any?,并保留声明的可空性。嵌套实参仍保持投影:读取 List<T> 得到 List<?>,不会变成 List<Any?>。
?
Any?
List<T>
List<?>
List<Any?>