جافا Enums
Enums
إن enum
"فئة" خاصة تمثل مجموعة من
الثوابت (المتغيرات غير القابلة للتغيير ، مثل final
المتغيرات).
لإنشاء enum
، استخدم enum
الكلمة الأساسية (بدلاً من الفئة أو الواجهة) ، وافصل الثوابت بفاصلة. لاحظ أنه يجب أن تكون بأحرف كبيرة:
مثال
enum Level {
LOW,
MEDIUM,
HIGH
}
يمكنك الوصول إلى enum
الثوابت باستخدام بناء الجملة النقطي :
Level myVar = Level.MEDIUM;
Enum اختصار لعبارة "التعداد" ، والتي تعني "المدرجة على وجه التحديد".
تعداد داخل الفصل
يمكنك أيضًا الحصول على enum
فصل دراسي داخلي:
مثال
public class Main {
enum Level {
LOW,
MEDIUM,
HIGH
}
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
System.out.println(myVar);
}
}
سيكون الإخراج:
MEDIUM
تعداد في بيان التبديل
تُستخدم التعدادات غالبًا في switch
العبارات للتحقق من القيم المقابلة:
مثال
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM;
switch(myVar) {
case LOW:
System.out.println("Low level");
break;
case MEDIUM:
System.out.println("Medium level");
break;
case HIGH:
System.out.println("High level");
break;
}
}
}
سيكون الإخراج:
Medium level
حلقة من خلال Enum
نوع التعداد لديه عملية values()
، والتي ترجع مصفوفة من كل ثوابت التعداد. هذه الطريقة مفيدة عندما تريد تكرار ثوابت التعداد:
مثال
for (Level myVar : Level.values()) {
System.out.println(myVar);
}
سيكون الإخراج:
LOW
MEDIUM
HIGH
الفرق بين Enums و Classes
العلبة ، enum
مثلها مثل أ class
، لها سمات وطرق. الاختلاف الوحيد هو أن ثوابت التعداد هي public
، static
و final
(غير قابلة للتغيير - لا يمكن تجاوزها).
لا enum
يمكن استخدام a لإنشاء كائنات ، ولا يمكنه توسيع الفئات الأخرى (ولكن يمكنه تنفيذ واجهات).
لماذا ومتى تستخدم Enums؟
استخدم التعدادات عندما يكون لديك قيم تعرف أنها لن تتغير ، مثل أيام الشهر والأيام والألوان ومجموعة البطاقات وما إلى ذلك.