Kotlin中的通配符为变量通用

Kha*_*.NT 10 kotlin

是否可以在Kotlin中声明通用通配符,如Java中的此代码:

List<Integer> a = new ArrayList<>();
List<? extends Number> b = a;
Run Code Online (Sandbox Code Playgroud)

JK *_* Ly 16

Kotlin中的等价物是这样的:

val a = ArrayList<Int>()
val b: ArrayList<out Number> = a
Run Code Online (Sandbox Code Playgroud)


Ary*_*yan 10

Kotlin 没有通配符,而是使用声明站点差异和类型投影的概念。

请检查文档,涵盖相当广泛。

Kotlin 提供了所谓的星形投影

val a = ArrayList<Int>()
val b: ArrayList<out Number> = a
Run Code Online (Sandbox Code Playgroud)