لمحة جافاوية 20: التعبئة التلقائية

السلام عليكم

منذ فترة كففت عن متابعة جيش الفئران الخاص بي
بما أني عقدت صلح نهائي مع الحج JBOSS
فأصبح الجيش بلا قيمة تذكر
والآن أفكر جدياً في تسريح الجيش
هل لديكم آراء حول هذا الموضوع؟
بصراحة يعز علي فراق الشباب
خصوصاً الولد عبده والولد علاء(فأران)
لكن ما باليد حيلة
فرواتبه أصبحت مكلفة على دولتي الصغيرة
نعود إلى موضوعنا
اليوم نتكلم عن التعبئة التلقائية Auto-boxing وإزالة التعبئة التلقائية Auto-unboxing
هذه الميزة أضافتها sun حديثاً للغة جافا java في الإصدارة 1.5
سنقوم بشرح بسيط عن الموضوع
الجافا java تحتوي على أنواع رئيسية primative types
هذه الأنواع تحتوي int ,float ,char إلخ
ومقابل كل نوع هناك ما يسمى بالمغلف wrapper
وهو عبارة عن فئة تقوم بتغليف النوع الرئيسي
لكي يكون كائن
مثل Integer ,Float ,Character إلخ
الآن عندما أريد أن أقوم باستدعاء دالة على الشكل التالي

public void mult(Integer a,Integer b)

بينما لدي متغيرين a,b من نوع int
سأضطر في الإصدارات السابقة إلى عمل كائنين من نوع Integer

 mult(new Integer(a),new Integer (b))

بينما مع إضافة خاصية التعبئة التلقائية
أستطيع أن أناديهما مباشرة

mult(a,b)

وعندما أريد أن أقوم باستدعاء دالة على الشكل التالي

public void mult(int a,int b)

بينما لدي متغيرين a,b من نوع Integer
سأضطر في الإصدارات السابقة إلى عمل استدعاء الدالة intValue من الفئة Integer

 mult(a.intValue(),b.intValue())

بينما مع إضافة خاصية إزالة التعبئة التلقائية
أستطيع أن أناديهما مباشرة

mult(a,b)

على العموم كل ما نستفيده من التعبئة التلقائية
هي مجرد حذف الأجزاء الغير مرتبة في الشيفرة
شيء أخير قبل أن أنهي
أصبح بإمكانك مقارنة الكائنات من الفئات المغلفة باستخدام العلامات == < >

مراجع: مقالة بعنوان Java 5 Features
http://java.codeproject.com/KB/java/Java5FeaturesI.aspx

تحياتي

Tags: , , ,

2 تعليقان to “لمحة جافاوية 20: التعبئة التلقائية”

  1. […] عاماً للجيش (ماذا لا تعرفون الأخ علاء ممممممم راجعوا هذه التدوينة) وهو يعد الآن العدة لساعة الصفر على كل حال أرجو أن تدعو […]

  2. يقول M.Allaw:

    مجهود رائع , أشكرك علاء بارك الله فيك 🙂

Leave a Reply