为什么要使用双冒号(::)在Kotlin上课?

我们知道,双冒号(::)用于科特林,如获得功能(可赎回)的参考String::compareTo"string"::compareTo

在Java中,我们使用SomeClass.classsomeInstance.getClass()获取类。为什么在科特林我们使用SomeClass::classsomeInstance::class,而class不是一个函数/方法?

println(String::compareTo)

// output: fun kotlin.String.compareTo(kotlin.String): kotlin.Int

println("string".compareTo("span"))

// output: -6

println(String::class)

// output: class kotlin.String

println("string".class)

// compile error

回答:

::Kotlin中,有关元编程的内容包括方法引用,属性引用和类文字。请参阅有关类文字的讨论。

以上是 为什么要使用双冒号(::)在Kotlin上课? 的全部内容, 来源链接: utcz.com/qa/401183.html

回到顶部