ما هو Autoboxing في Java؟ مع الأمثلة
نشرت: 2023-01-28في العالم المعاصر ، تعد Java الخيار الشهير لبرمجة تطبيقات Android. كما أنها تجد طلبًا كبيرًا في بيئة التعلم الآلي والتطبيقات السحابية وتقنية إنترنت الأشياء. يحتاج المطورون إلى فهم شامل للاتجاهات الحديثة في برمجة Java. يتم ضمان وجود فرصة مهنية مربحة لمطوري Java لأن اللغة لها حضور قوي في المؤسسة. Java ليست فقط لغة رائدة موجهة للكائنات في سوق تطبيقات الهاتف المحمول android ولكن أيضًا في مجال سوق الواجهة الخلفية.
جدول المحتويات
أساسيات التشغيل الآلي في Java:
أثناء كتابة برنامج نصي ، تُستخدم أنواع البيانات البدائية في معظم لغات البرمجة. ومع ذلك ، في لغات البرمجة الموجهة للكائنات مثل Java ، لا تكون أنواع البيانات البدائية فعالة في بعض السيناريوهات وهي تقصر في المجال. للتغلب على قيود أنواع البيانات البدائية ، يتم استخدام أغلفة. هذه الظاهرة تسمى autoboxing. دعونا نناقش المزيد حول autoboxing في Java في الأقسام التالية.
تحقق من دوراتنا التكنولوجية المجانية لتتفوق على المنافسة.
استكشف دوراتنا التدريبية الشهيرة في هندسة البرمجيات
ماجستير العلوم في علوم الكمبيوتر من جامعة جون مورس بليفربول و IIITB | برنامج شهادة الأمن السيبراني من معهد كاليفورنيا للتكنولوجيا CTME |
برنامج تدريب تطوير المكدس الكامل | برنامج PG في Blockchain |
برنامج PG التنفيذي في تطوير Full Stack | |
عرض جميع دوراتنا أدناه | |
دورات هندسة البرمجيات |
Autoboxing و Autounboxing:
Autoboxing هي عملية تحويل القيمة الأولية إلى كائن فئة الغلاف. على سبيل المثال ، يتم تحويل نوع البيانات int إلى فئة عدد صحيح. يتم تنفيذ وظيفة autoboxing بواسطة مترجم Java إذا كانت القيمة الأولية هي:
- مخصص لمتغير من فئة الغلاف الخاصة به.
- تم تمريره كوسيطة لطريقة تستخدم كائنًا من فئة الغلاف المعنية.
Autoboxing هو عكس وظيفة autoboxing. يشار إلى تحويل كائن من نوع الغلاف إلى قيمته الأولية على أنه unboxing. دعونا نفكر في مثال على كائن عدد صحيح تم تحويله إلى نوع بيانات int. يقوم برنامج التحويل البرمجي Java بإلغاء العبوة عندما يكون كائن فئة المجمع:
- يتم تعيين متغير من النوع الأولي الخاص به.
- تم تمريره كوسيطة لطريقة تتطلب قيمة النوع الأولي المقابل.
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
مهارات تطوير البرمجيات عند الطلب
دورات جافا سكريبت | دورات جافا الأساسية | دورات هياكل البيانات |
دورات Node.js | دورات SQL | دورات تطوير مكدس كاملة |
دورات NFT | دورات DevOps | دورات البيانات الضخمة |
دورات React.js | دورات الأمن السيبراني | دورات الحوسبة السحابية |
دورات تصميم قواعد البيانات | دورات بايثون | دورات العملات المشفرة |
Autoboxing بالتفصيل:
يتم استخدام مصطلحي الملاكمة و autoboxing بالتناوب في كثير من الحالات لوصف نفس المفهوم. ومع ذلك ، هناك اختلاف طفيف بين المصطلحين. يشير مصطلح "boxing" إلى التفاف نوع البيانات البدائي لتكوين كائن. دعونا ننظر في مثال لفهم هذا المفهوم. ضع في اعتبارك بيان كود Java المكتوب أدناه.
int FirstNumber = 1 ؛
في هذه العبارة ، يكون المتغير "FirstNumber" من نوع البيانات int وهو بدائي. يمكن تحويلها إلى كائن باستخدام البيان أدناه.
عدد صحيح SecondNumber = عدد صحيح جديد (2) ؛
المتغير SecondNumber في العبارة أعلاه ليس من نوع بيانات int البدائي. بدلا من ذلك ، هو كائن عدد صحيح. يشار إلى عملية تحويل الأنواع البدائية من البيانات إلى كائن باسم الملاكمة. أسهل طريقة لتنفيذ هذه المهمة هي تطوير فئة تحتوي على سمة واحدة لنوع بيانات int. يتم تعيين مُنشئ لقيمة نوع int إلى سمة الفئة. يتم استخدام عدة طرق لمعالجة قيمة int. يمكن استخدام فئات المجمّع في Java لتمكين تحويل أنواع البيانات الأخرى إلى كائن.
Autoboxing هي الوظيفة التي يؤديها المترجم تلقائيًا دون ذكرها صراحةً.
MyList.add (Integer.valueOf (i)) ؛
هذا هو السطر الذي أضافه المترجم إلى برنامجنا.
في بيان الكود أعلاه ، تم تحديد اسم الفئة "عدد صحيح" قبل ذكر طريقة valueOf () لأن valueOf () هي طريقة ثابتة.
اقرأ مقالاتنا الشهيرة المتعلقة بتطوير البرمجيات
كيف يتم تنفيذ تجريد البيانات في Java؟ | ما هي الطبقة الداخلية في جافا؟ | معرفات Java: التعريف والنحو والأمثلة |
فهم التغليف في OOPS بأمثلة | شرح حجج سطر الأوامر في لغة سي | أهم 10 ميزات وخصائص للحوسبة السحابية في عام 2022 |
تعدد الأشكال في جافا: المفاهيم والأنواع والخصائص والأمثلة | الحزم في Java وكيفية استخدامها؟ | برنامج Git التعليمي للمبتدئين: تعلم Git من الصفر |
ما هو unboxing في جافا؟
الآن بعد أن فهمنا عملية تحويل أنواع البيانات البدائية إلى كائنات ، دعونا نلقي نظرة على العملية التي تؤدي الوظيفة العكسية للملاكمة. يشير Unboxing ، كما ذكرنا سابقًا ، إلى عملية تحويل كائن من نوع فئة الغلاف إلى أنواع بياناته الأولية.
عندما يتم تنفيذ عملية unboxing تلقائيًا بواسطة المترجم دون ذكرها صراحةً في البرنامج ، يشار إليها باسم Auto unboxing. دعنا نفكر في المثال الموضح أدناه لفهم unboxing التلقائي.
المزيد عن فئات التفاف:
في المثال الخاص بـ autoboxing ، يكون المتغير I من نوع بيانات int و object Integer عبارة عن فئة مجمعة. تتوفر فئة المجمع في Java لجميع أنواع البيانات الأولية. تتيح هذه الفئات للمستخدم تحويل متغير من نوع البيانات البدائي إلى الكائن المقابل لنوع فئة الغلاف. تُستخدم طرق فئة الغلاف في معالجة القيم. يتم تلخيص أنواع البيانات الأولية وفئات الغلاف الخاصة بها في الجدول أدناه. لاحظ أن اسم فئات الغلاف يبدأ بحرف كبير.
نوع البيانات البدائي | فئة الغلاف المقابلة |
بايت | بايت |
قيمة منطقية | قيمة منطقية |
شار | حرف |
int | عدد صحيح |
تطفو | تطفو |
قصيرة | قصيرة |
طويل | طويل |
مزدوج | مزدوج |
مزايا Autoboxing وفتح الصندوق تلقائيًا في Java:
- تتيح عملية التعبئة التلقائية وإلغاء العبوة للمبرمجين كتابة كود برمجي جيد التنظيم وسهل القراءة.
- تتيح العملية أيضًا للمستخدمين التبديل بين أنواع البيانات الأولية وكائنات فئة الغلاف بالتناوب. ومن ثم ، فإن التلبيس الواضح غير مطلوب.
إذا كنت مهتمًا بمعرفة المزيد حول Java ، تطوير البرامج المتكاملة ، تحقق من برنامج upGrad & IIIT-B التنفيذي PG في تطوير البرمجيات - التخصص في تطوير المكدس الكامل المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، أكثر من 9 مشاريع ، ومهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.