Это относится и к enum class в Котлине? Будет ли компилятор Kotlin enum скомпилирован в Java enum?
Ответ 1
Казалось бы, да.
Я создал это в Котлине:
enum class Thingies {
Red,
Green,
Blue
}
И декомпилировал его с помощью javap -v, и вот заголовок:
public final class Thingies extends java.lang.Enum<Thingies>
minor version: 0
major version: 52
flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM
Нижняя строка: они идентичны, поэтому вам, вероятно, придется обращаться с ними одинаково.
Ответ 2
Они точно такие же, Kotlin Enum - это Java JVM Enum.
Ответ 3
Вы можете наиболее точно использовать перечисления в Android сейчас, они специально обсуждали эту тему в этом видео Google I/O: https://www.youtube.com/watch?v=IrMw7MEgADk (если вы не хотите смотреть все видео целиком затем начните с 11:30 до 14:40).