Kotlin – 与SomeClass.class对象的等价性?
我试图静态获取对象的名称(对于日志记录使用)
等同于:
public class SomeClass { private static final String TAG = SomeClass.class.getSimpleName() }
在Kotlin:
object SomeObject { private const val TAG = ? }
尝试这个
SomeClass::class.simpleName
如果你在Android应用程序中使用它,我建议你这样做:(packageName:className)
object SomeObject { private val TAG = "${SomeObject::class.java.`package`.name}:${SomeObject::class.simpleName}" }
这样做可以确保任何其他类的标签名称不会重复。 如果您正在创建某人可以使用的lib /代码片段,那真的很有帮助。 否则具有相同的标签名称可能会导致运行时错误。