1

这是我的例子:

fun randomDay() : String {
    val days = arrayOf("Monday", "Tuesday", "Wednesday")
    return days[Random().nextInt(3)]
}

怎么会Random().nextInt(3)又不会Random.nextInt(3)呢?

4

1 回答 1

2

使用java.util.Random类的方法,您需要创建该类的实例。Kotlin 中的类实例是使用NameOfClass()语法创建的。因此,要使用nextInt(3)首先Random创建该类的实例,Random()然后调用nextInt(3)创建的实例的方法。所以整个代码看起来像这样:

Random().nextInt(3)

编辑:

实际上,在 Kotlin 中,您可以使用两种类型的Random类 -java.util.Randomkotlin.random.Random. 如果你使用包中的Random类,java.util你需要创建一个Random类的实例:

java.util.Random().nextInt()

如果您使用包中的Random类,kotlin.random则不需要创建该类的实例:

kotlin.random.Random.nextInt()
于 2019-01-23T22:02:54.363 回答