generics - kotlin 中的 out 关键字是什么

我看不懂,在kotlin中找不到out关键字的意思。

您可以在这里查看示例:

List<out T>

如果有人能解释一下这个意思。将不胜感激。

最佳答案

List<out T>在 Kotlin 中相当于 List<? extends T>在 Java 中。

List<in T>在 Kotlin 中相当于 List<? super T>在Java中

例如,在 Kotlin 中,您可以执行以下操作

val value : List<Any> = listOf(1,2,3)
//since List signature is List<out T> in Kotlin

原因是,如果您退回它,但永远不会收到,您可以将通用标记为“out”。如果您收到它,您可以将其标记为“in”,但永远不要返回。

https://stackoverflow.com/questions/44298702/

相关文章:

dictionary - Kotlin 是否有 Map 文字的语法?

java - 如何将 Java 源文件的一部分转换为 Kotlin?

kotlin - 如何在 Kotlin 中迭代 hashmap?

android - Kotlin - 将 List 转换为 MutableList 的最惯用方式

android - kotlin-stdlib-jre7 已弃用。请改用 kotlin-stdlib

kotlin - 如何从命令行运行 Kotlin 类?

android - 单元测试室和 LiveData

kotlin - 如何在 Kotlin 中写入文件?

java - 将 Kotlin 数据对象映射到数据对象的更好方法

kotlin - 如何将项目添加到 Kotlin 中的 ArrayList?