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.