English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس،سنستخدم الأمثلة لنجد التعبئة التلقائية والتعبئة يدويًا في Java.
فيفي التعبئة التلقائية،سيقوم محرر Java تلقائيًا بتحويل النوع الأساسي إلى كائنات فئة الماكيتة المماثلة. على سبيل المثال،
int a = 56; // التعبئة التلقائية Integer aObj = a;
عند استخدام مجموعات Java،التعبئة التلقائيةلديه ميزة كبيرة.
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); // Auto-boxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); } }
نتيجة الخروج
ArrayList: [5, 6]
في المثال السابق،قمنا بإنشاء قائمة حاويات من نوع Integer. لذلك،ستحتوي القائمة الحاويات فقط على كائنات من نوع Integer.
لاحظ هذه السطر،
list.add(5);
في هذا المكان،نحن نمرر قيم النوع الأساسي.التعبئة التلقائية،سيتم تحويل القيم الأساسية تلقائيًا إلى كائنات Integer وسيتم تخزينها في قائمة الحاويات.
فيالتعبئة،سيقوم محرر Java تلقائيًا بتحويل كائنات فئة الماكيتة إلى أنواعها الأساسية المماثلة. على سبيل المثال،
// التعبئة التلقائية Integer aObj = 56; // Unboxing int a = aObj;
مثلتلقائيالتعبئةنفس الشئ،Unboxingيمكن أيضًا استخدامه مع مجموعات Java.
import java.util.ArrayList; class Main { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); // Auto-boxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // Unboxing int a = list.get(0); System.out.println("القيمة في المكان 0: " + a); } }
نتيجة الخروج
ArrayList: [5, 6] القيمة في المكان 0: 5
في المثال السابق، لاحظ التالي:
int a = list.get(0);
في هذا السياق، يعود get() إلى العنصر في المكان 0. ولكن، نظرًا لأنUnboxing، يتم تحويل العنصر إلى نوع الأصلي int تلقائيًا وتوزيعه على المتغير a.