在Kotlin中直接引用不带类的枚举实例

在Kotlin中,我不能直接引用枚举的实例,当E与我使用它的实例的代码在同一个文件中时:

enum class E { A, B } 

我想要做什么:

 val e = A 

我可以做什么:

 val e = EA 

这可能吗?

是的,这是可能的!

在Kotlin中,枚举实例可以像大多数其他东西一样被导入,所以假设枚举类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