在Kotlin中直接引用enum实例而没有类

时间:2017-07-30 03:35:36

标签: enums kotlin

在Kotlin中,当E与我使用其实例的代码位于同一文件中时,我无法直接引用枚举的实例:

enum class E {
    A, B
}

我想做什么:

val e = A    

我能做什么:

val e = E.A

这可能吗?

1 个答案:

答案 0 :(得分:7)

是的,这是可能的!

在Kotlin中,可以像大多数其他东西一样导入枚举实例,因此假设枚举类E在默认包中,您只需将import E.*添加到要使用其实例的源文件的顶部即可直。例如:

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

每个实例也可以单独导入,而不是仅导入枚举中的所有内容:

import E.A
import E.B
//etc...

即使枚举声明在同一个文件中,这也有效:

import E.*
enum class E{A,B}
val a = A