- Kotlin进阶实战
- 沈哲 易庞宙编著
- 149字
- 2025-02-20 21:22:45
6.3.3 星号投影
星号投影(Star Projections)用来表明“不知道关于泛型实参的任何信息”。
类似于Java中的无界类型通配符“?”,Kotlin使用星号投影“*”。“*”代指了所有类型,相当于Any?。例如,MutableList<*>表示的是MutableList<out Any?>。

正是由于使用out修饰以及星号投影类型的不确定性,导致写入的任何值都有可能跟原有的类型冲突。因此,星号投影不能写入,只能读取。