是否可以在Kotlin中声明通用通配符,就像Java中的代码一样:
List<Integer> a = new ArrayList<>();
List<? extends Number> b = a;
答案 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