Sobes.tech
Junior — Middle

Magyarázza el az Enum Class fogalmát és annak különbségét a szokásos felsorolásoktól

sobes.tech MI

Válasz az MI-től

Androidban (és általában Java-ban) az enum class egy felsorolási osztály, amely egy konstansokból álló halmazt képvisel, és lehetőséget ad mezők, metódusok és konstruktorok hozzáadására.

A szokásos felsorolásoktól (például C-ben vagy egyszerű konstansoknál) eltérően:

  • Típusbiztonság — az enum egy teljes értékű osztály, és az enum típusú változó csak a meghatározott értékeket vehet fel.
  • Viselkedés hozzáadása — az enumon belül metódusokat és mezőket lehet definiálni.
  • Használat switch-ben — az enum kényelmesen használható választó utasításokban.

Java/Android példában:

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

    private int code;

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

    public int getCode() {
        return code;
    }
}

Ezért az enum class egy kiterjesztett módja a fix konstanssorozat meghatározásának, további funkcionalitással, szemben az egyszerű felsorolásokkal, amelyek lehetnek csak számok vagy szövegek logika nélkül.