为什么在 Kotlin 中使用双冒号 (::)?
我们知道双冒号 () 用于在 Kotlin 中获取函数(可调用)引用,例如 , .::
String::compareTo
"string"::compareTo
在Java中,我们使用和来获取类。为什么在 Kotlin 中我们使用 and while 不是一个函数/方法?SomeClass.class
someInstance.getClass()
SomeClass::class
someInstance::class
class
println(String::compareTo)
// output: fun kotlin.String.compareTo(kotlin.String): kotlin.Int
println("string".compareTo("strong"))
// output: -6
println(String::class)
// output: class kotlin.String
println("string".class)
// compile error