Kotlin:类对的2个类型参数对<out a,=“”out =“”b =“”> - 如何声明对的类型?

时间:2018-02-07 06:54:02

标签: kotlin

在Kotlin中,如何将类型添加到一对颜色中:

var pair = Pair(Color.RED, Color.WHITE)

上面的冒号之后会发生什么?

我需要知道,因为我需要声明一个pegColours数组,但以下内容会出现错误2 type arguments expected for class Pair<out A, out B>

lateinit private var pegColours: Array<Pair>

2 个答案:

答案 0 :(得分:3)

Pair<out A, out B>有两个类型参数需要指定:

lateinit private var pegColours: Array<Pair<Color,Color>>

答案 1 :(得分:1)

对于您的Pair,可以按如下方式指定显式类型:

var pair: Pair<Color, Color> = Pair(Color.RED, Color.WHITE)

Pair类定义了两个out - 投影泛型类型参数,需要由您指定。由于您创建了一对Color,因此这两种类型也必须为Color