Kotlin – эквивалентность SomeClass.class для объектов?

Я пытаюсь статически получить имя объекта (для ведения журнала)

Эквивалентность для:

public class SomeClass { private static final String TAG = SomeClass.class.getSimpleName() } 

В Котлине:

 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 / code, который может использовать кто-то. В противном случае одинаковое имя тега может привести к ошибкам во время выполнения.

Intereting Posts
Обоснованные дженерики в Scala 2.10 Котлин Поэт пустой генерации конструктора – наследование Я не могу связаться с членом класса из вложенного класса в Котлин Способы жизненного цикла в статически типизированных языках LibGDX Scene2d UI: проблемы с таблицей внутри таблицы RxJava 2 требует другого типа возвращаемого типа, чем RxJava 1 (Kotlin) Возможно ли вставить адаптер Recycler View с помощью кинжала 2.11 IntelliJ autocompletion для включенных файлов сценариев графа kotlin Понять, как в Котлине действуют переопределенные и подстановочные знаки Как запустить класс Kotlin из командной строки? Соглашение о кодировании для пустых функций, которые необходимо переопределить в Котлине Скрытие стандартных конструкторов по умолчанию Класс данных Котлина с производными свойствами Kotlin: общий метод и цикл для запроса итератора () Предельная функция в Котлине