Junior — Middle
Paaiškinkite Enum Class sąvoką ir jos skirtumą nuo įprastų išvardijimų
sobes.tech AI
Atsakymas iš AI
Android (ir bendroje Java) enum class yra išvardijimo klasė, kuri atstovauja konstantių rinkinį su galimybe pridėti laukus, metodus ir konstruktorius.
Skirtumai nuo įprastų išvardijimų (pavyzdžiui, C ar paprastų konstantų):
- Tipų saugumas — enum yra pilnavertė klasė, ir enum tipo kintamasis gali priimti tik nustatytas reikšmes.
- Galimybė pridėti elgseną — galima apibrėžti metodus ir laukus enum viduje.
- Naudojimas switch'e — enum patogu naudoti pasirinkimo sakiniuose.
Pavyzdys Java/Android enum:
public enum Status {
NEW(0),
IN_PROGRESS(1),
DONE(2);
private int code;
Status(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
Taigi, enum class yra išplėstas būdas apibrėžti fiksuotą konstantių rinkinį su papildoma funkcionalumu, skirtingai nuo paprastų išvardijimų, kurie gali būti tik skaičių ar eilutės rinkinys be logikos.