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 
  • registerReceiver () muestra error por método sobrecargado
  • Cómo establecer el ancho del borde FloatingActionButton con Anko
  • ¿Cuándo necesitamos los files * .meta.js en Kotlin?
  • Recyclerview: escucha los events de clic de relleno
  • Configurar proyecto de kotlin con gradle
  • Kotlin - Use Realm Module en android
  • ¿Qué significa el código @TypeConverterAnnotation?
  • ¿Qué sucede cuando se presiona el button Atrás antes de que se complete una llamada asíncrona?
  • Propiedad diferida de Kotlin dependiendo de otra propiedad inicializada en init
  • Por qué las entidades Room no funcionan con properties inmutables en Android
  • Deserializar classs con properties perezosas usando Gson y Kotlin 1.0 beta 4