Junior — Middle
Εξηγήστε την έννοια της Enum Class και τη διαφορά της από τις συνηθισμένες λίστες
sobes.tech AI
Απάντηση από AI
Στο Android (και γενικά στη Java), το enum class είναι μια κλάση enumeration που αντιπροσωπεύει ένα σύνολο σταθερών με τη δυνατότητα προσθήκης πεδίων, μεθόδων και κατασκευαστών.
Διαφορές με τις κανονικές enumerations (π.χ. σε C ή απλές σταθερές):
- Ασφάλεια τύπου — το enum είναι μια πλήρης κλάση, και μια μεταβλητή τύπου enum μπορεί να πάρει μόνο τις ορισμένες τιμές.
- Δυνατότητα προσθήκης συμπεριφοράς — μπορείτε να ορίσετε μεθόδους και πεδία μέσα στο enum.
- Χρήση σε switch — το enum είναι βολικό στη χρήση σε επιλογές.
Παράδειγμα enum σε 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;
}
}
Επομένως, το enum class είναι ένας επεκταμένος τρόπος ορισμού ενός σταθερού συνόλου σταθερών με πρόσθετη λειτουργικότητα, σε αντίθεση με τις απλές enumerations που μπορεί να είναι απλώς ένα σύνολο αριθμών ή συμβολοσειρών χωρίς λογική.