我们知道,双冒号(::)用于科特林,如获得功能(可赎回)的参考String::compareTo,"string"::compareTo。
::
String::compareTo
"string"::compareTo
在Java中,我们使用SomeClass.class和someInstance.getClass()获取类。为什么在科特林我们使用SomeClass::class和someInstance::class,而class不是一个函数/方法?
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
::在Kotlin中,有关元编程的内容包括方法引用,属性引用和类文字。请参阅有关类文字的讨论。