为什么要使用双冒号(::)在Kotlin上课?
我们知道,双冒号(::
)用于科特林,如获得功能(可赎回)的参考String::compareTo
,"string"::compareTo
。
在Java中,我们使用SomeClass.class
和someInstance.getClass()
获取类。为什么在科特林我们使用SomeClass::class
和someInstance::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