Обратный экземпляр enum непосредственно без класса в Котлине

В Kotlin я не могу напрямую ссылаться на экземпляры перечисления, когда E находится в том же файле, что и код, в котором я использую его экземпляры:

enum class E { A, B } 

Что я хочу сделать:

 val e = A 

Что я могу сделать:

 val e = EA 

Это возможно?

Да, это возможно!

В Kotlin экземпляры enum можно импортировать, как и большинство других вещей, поэтому, если enum class E находится в пакете по умолчанию, вы можете просто добавить import E.* в начало исходного файла, который хотел бы использовать его экземпляры напрямую. Например:

 import E.* val a = A // now translates to EA 

Каждый экземпляр можно также импортировать отдельно, а не просто импортировать все в перечисление:

 import EA import EB //etc... 

Это также работает, даже если перечисление объявлено в том же файле:

 import E.* enum class E{A,B} val a = A 
Intereting Posts
Является ли Квазар и Комцат заменой Ктора? Невозможно использовать локальный обработчик аннотаций в проекте Android kotlin Котлин – ожидание объявления участника Регулярное выражение, которое распознает / * … * / note Отключить инкрементную сборку для kapt Уведомления не отображаются на эмуляторе Oreo Где сохранить точки Android GPS (широта, долгота)? Интеграция HTML и CSS с Kotlin и Spring MVC Андроид anko предупреждение пользовательский макет currentFocus в kotlin, как передать обратно MutableList, где пункт назначения ожидает Список Почему я получаю ошибку java.lang.IllegalStateException: экземпляр не инициализирован? Почему не переупорядочивает код в файлах Kotlin в Intellij? У меня есть два метода расширения Kotlin для одного и того же класса, но с разными генерическими сигнатурами и компилятор жалуется Nashorn, передать java-объект javascript как JSON.stringified Почему IntelliJ не распознает мой основной метод?