Kotlin中的通配符为变量通用

时间:2017-05-20 16:59:36

标签: kotlin

是否可以在Kotlin中声明通用通配符,就像Java中的代码一样:

List<Integer> a = new ArrayList<>();
List<? extends Number> b = a;

2 个答案:

答案 0 :(得分:14)

Kotlin中的等价物将是这样的:

val a = ArrayList<Int>()
val b: ArrayList<out Number> = a

答案 1 :(得分:4)

Kotlin没有通配符,它​​使用声明站点方差和类型投影的概念。

请查看documentation,内容非常广泛。

Kotlin提供所谓的星投影

val a = ArrayList<Int>()
val b: ArrayList<out Number> = a