Referencia enum instancia directamente sin class en Kotlin

En Kotlin, no puedo hacer reference directamente a las instancias de una enumeración cuando E está en el mismo file que el código donde uso sus instancias:

enum class E { A, B } 

Lo que quiero hacer:

 val e = A 

Que puedo hacer:

 val e = EA 

es posible?

Sí, esto es posible!

En Kotlin, las instancias enum se pueden importar como la mayoría de las otras cosas, así que suponiendo que la class E de enum está en el package pnetworkingeterminado, simplemente puede agregar la import E.* a la parte superior del file fuente que le gustaría usar sus instancias directamente. Por ejemplo:

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

Cada instancia también se puede importar individualmente, en lugar de importar todo en la enumeración:

 import EA import EB //etc... 

Esto también funciona incluso si la enumeración se declara en el mismo file:

 import E.* enum class E{A,B} val a = A 
  • Cómo convertir este código de iOS swift a Android Kotlin
  • La propiedad de extensión de Kotlin no se reconoce en la plantilla de cadena
  • Referencia no resuelta DaggerApplicationComponent
  • Dagger 2 error: la dependencia "no se puede proporcionar sin un @Inject constructor"
  • error en la anotación de Kotlin?
  • Error de ejecución para la tarea ': calculator: compileKonanKotlinArithmeticParserIphone'
  • Cambie Flowable <List <Obj1 >> a Flowable <List <Obj2 >> en la habitación
  • ¿Cómo llamar al súper método de la class externa desde la class interna en Kotlin?
  • Aspectj no funciona con kotlin
  • ¿Se puede sobrepasar var con val con class henetworkingada en Kotlin?
  • ¿Objeto de database Singleton con initialization parametrizada al inicio?