دالة الـ ()value والـ ()valueOf
جميع الكلاسات من نوع enum تحتوي على دالتين معرفة مسبقاً هي:
()value و ()valueOf
الدالة ()value تقوم بإرجاع مصفوفة تحتوي على كافة ثوابت الـ enum
في حالتنا هذه فإنها سترجع مصفوفة تحتوي (ORANGE,APPLE,LEMON,BANANA)
الدالة ()valueOf تقوم بإرجاع قيمة الثابت الذي تم تمريره لبراميتر الدالة كـ نص
بمعنى لو قمنا بتمرير ORANGE ستقوم الدالة بالتأكد من وجوده من ضمن ثوابت الـ enum، إذا كان موجود ستعيد قيمة الثابت "ORANGE" بما يحمله من متغيرات ودوال.
لنرى كيفية عمل الدالتين:
ننظر للبرنامج التالي في حالة إستخدام الدالة ()values :
أولاً نقوم بتعريف مصفوفة من Fruits نسميها allFruits لتقوم بإستقبال قيمة الثوابت التي بداخل Fruits كمصفوفة
public static void main(String[] args) {
Fruits [] allFruits = Fruits.values();
}
الآن أصبحت المصفوفة allFruits جاهزه وتحمل قيم الثوابت، نستطيع طباعة القيم الآن عن طريق استخدام for loop كالتالي:
public static void main(String[] args) {
Fruits [] allFruits = Fruits.values();
// طباعة قيم المصفوفة
for(Fruits x : allFruits) {
System.out.println(x);
}
}
نتيجة البرنامج الـ output ستكون:
ORANGE
APPLE
LEMON
BANANA
وهي قيم الثوابت التي بداخل Fruits
يمكن أيضاً كتابة كود مختصر لإستخدام دالة ()values وطباعة عناصرها بالطريقة التالية:
public static void main(String[] args) {
System.out.println(Arrays.toString(Fruits.values()));
}
سينتج عن هذا الكود أيضاً قيمة ثوابت الـ Fruits لكن بالشكل التالي:
[ORANGE, APPLE, LEMON, BANANA]
الآن لنرى كيفية عمل الدالة ()valueOf
لنقم بتعريف متغير نوعه Fruits ولنسميه org
public static void main(String[] args) {
Fruits org;
}
الآن لنرى كيف نسند له قيمة ORANGE من خلال الدالة ()valueOf
public static void main(String[] args) {
Fruits org;
org = Fruits.valueOf("ORANGE");
}
بهذه الطريقة نحن نخبر الدالة بالبحث عن ثابت بإسم ORANGE وإسناد قيمته للمتغير org
تذكر أن الجافا حساسة لحجم الحروف لذلك يجب أن يتطابق النص الذي تم تمريره للدالة مع إسم الثابت وإلا سينتج خطأ عن ذلك.
الآن بإمكاننا التعامل مع المتغير org بأي طريقة وإستدعاء دواله الخاصة بعد أن تم إسناد قيمة الـ ORANGE له.
محتوى الدورة
عن الدرس
0 إعجاب |
1 متابع |
0 مشاركة |
2138 مشاهدات |
منذ 6 سنوات |
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !