【发布时间】:2018-01-09 12:57:35
【问题描述】:
在阅读 Kotlin 泛型类型变化和投影时,我想到了一个完全陌生的概念。有人可以解释一下作者想要解释的想法是什么吗?请引用 Kotlin in Action, MEAP 中的这段话:
获取已经具有out方差的类型参数的out投影是没有意义的,例如List<out T>。这意味着与List<T>相同,因为List被声明为class List<out T>。 Kotlin 编译器会警告说这样的投影是多余的。
这里有两个具体问题:
- 为什么需要在已经投影的类型 List 上添加投影?
- 即使你这样做了,你如何获得相同的列表?
【问题讨论】: