Sobes.tech
Junior — Middle

Vysvetlite pojem Enum Class a jeho rozdiel od bežných výčtov

sobes.tech AI

Odpoveď od AI

V Androide (a všeobecne v Jave) je enum class trieda výčtu, ktorá predstavuje súbor konštánt s možnosťou pridania polí, metód a konštruktorov.

Rozdiely od bežných výčtov (napríklad v C alebo jednoduchých konštánt):

  • Typová bezpečnosť — enum je úplná trieda a premenná typu enum môže nadobúdať iba definované hodnoty.
  • Možnosť pridávať správanie — je možné definovať metódy a polia vnútri enum.
  • Použitie v switch — enum je vhodný na použitie v vetveniach.

Príklad enum v Java/Android:

public enum Status {
    NEW(0),
    IN_PROGRESS(1),
    DONE(2);

    private int code;

    Status(int code) {
        this.code = code;
    }

    public int getCode() {
        return code;
    }
}

Takže, enum class je rozšírený spôsob definície pevného súboru konštánt s dodatočnou funkčnosťou, na rozdiel od jednoduchých výčtov, ktoré môžu byť len súborom čísel alebo reťazcov bez logiky.