
上QQ阅读APP看书,第一时间看更新
6.3.3 星号投影
星号投影(Star Projections)用来表明“不知道关于泛型实参的任何信息”。
类似于Java中的无界类型通配符“?”,Kotlin使用星号投影“*”。“*”代指了所有类型,相当于Any?。例如,MutableList<*>表示的是MutableList<out Any?>。

正是由于使用out修饰以及星号投影类型的不确定性,导致写入的任何值都有可能跟原有的类型冲突。因此,星号投影不能写入,只能读取。
星号投影(Star Projections)用来表明“不知道关于泛型实参的任何信息”。
类似于Java中的无界类型通配符“?”,Kotlin使用星号投影“*”。“*”代指了所有类型,相当于Any?。例如,MutableList<*>表示的是MutableList<out Any?>。
正是由于使用out修饰以及星号投影类型的不确定性,导致写入的任何值都有可能跟原有的类型冲突。因此,星号投影不能写入,只能读取。