En Java, on nous dit de éviter strictement d'utiliser des énumérations sur Android car elles occupent deux fois plus de mémoire.
Cela s'applique-t-il également à enum class
en Kotlin? Est-ce qu'un enum
Kotlin sera compilé en un enum
Java?
En Java, on nous dit de éviter strictement d'utiliser des énumérations sur Android car elles occupent deux fois plus de mémoire.
Cela s'applique-t-il également à enum class
en Kotlin? Est-ce qu'un enum
Kotlin sera compilé en un enum
Java?
Il semblerait que oui, en effet.
J'ai créé ceci en Kotlin :
enum class Thingies {
Red,
Green,
Blue
}
Et je l'ai décompilé avec javap -v
, et voici l'en-tête :
public final class Thingies extends java.lang.Enum
minor version: 0
major version: 52
flags: ACC_PUBLIC, ACC_FINAL, ACC_SUPER, ACC_ENUM
En conclusion : ils sont identiques, donc vous devrez probablement les traiter de la même manière.
Vous pouvez certainement utiliser des enums dans Android maintenant, ils ont spécifiquement discuté de ce sujet dans cette vidéo de Google I/O : https://www.youtube.com/watch?v=IrMw7MEgADk (si vous ne voulez pas regarder toute la vidéo, alors commencez vers 11h30 à 14h40).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.