我正在我的 Android 应用程序中创建我的第一个 Kotlin 类。通常出于记录目的,我有一个名为 TAG
的常量。我会用 Java 做的是:
private static final String TAG = MyClass.class.getSimpleName();
我知道在 Kotlin 类中我可以使用这种方式创建 TAG
:
private val TAG = MyClass::class.java.simpleName
这对于使用 Java 和 Kotlin 的项目来说是可以的,但是如果我开始一个仅使用 Kotlin 的新项目怎么办?我怎样才能在那里定义 TAG
常量?有没有更多的 Kotlin 方式我没有这种奇怪的构造 class.java.simpleName
?
最佳答案
这个扩展允许我们在任何类中使用 TAG
val Any.TAG: String
get() {
val tag = javaClass.simpleName
return if (tag.length <= 23) tag else tag.substring(0, 23)
}
//usage
Log.e(TAG,"some value")
它也被验证为 Android 有效的 Log 标签。
https://stackoverflow.com/questions/45841067/