Junior — Middle
Selgitage Enum Class mõistet ja selle erinevust tavapärastest loenditest
sobes.tech AI
Vastus AI-lt
Androidis (ja ka üldiselt Java-s) on enum class loendiklass, mis esindab konstante kogumit, millele saab lisada välju, meetodeid ja konstruktorid.
Erinevused tavalistest loenditest (näiteks C-s või lihtsatest konstantidest):
- Tüüpide turvalisus — enum on täisväärtuslik klass ning enum-tüüpi muutuja võib võtta ainult määratud väärtusi.
- Võimalus lisada käitumist — enumi sees saab määratleda meetodeid ja välju.
- Kasutamine switch-is — enum on mugav kasutada valiklausetes.
Näide Java/Android enumist:
public enum Status {
NEW(0),
IN_PROGRESS(1),
DONE(2);
private int code;
Status(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
Seega, enum class on laiendatud viis määratleda fikseeritud konstantide kogum koos täiendava funktsionaalsusega, erinevalt lihtsatest loenditest, mis võivad olla ainult arvude või stringide kogum ilma loogikata.