لماذا generic يقبل integer فقط و لا يقبل int؟

السلام عليكم، لماذا generic لا يقبل النوع int فقط Integer.

هذا مثال من الموقع عند تغير نوع المصفوفات إلى int arr1[]={1,2,3,4,5} لا يقبلها.

public class Main {
 
  // argument عند استدعاءها نمرر لها مصفوفة من أي نوع كـ .void هنا قمنا بتعريف دالة نوعها
  public static <E> void printArray( E[] array )
  {
    // التي ندخلها في الدالة عند استدعاءها array تعرض جميع عناصر المصفوفة foreach هنا قمنا بإنشاء حلقة
    for( E element : array )
      System.out.print(element + " ");
 
    System.out.println();
 
  }
 
  public static void main(String[] args) {
 
    // هنا قمنا بتعريف 6 مصفوفات, كل واحدة فيهم تملك 5 عناصر من نوع مختلف
    Integer  arr1[] = {1, 2, 3, 4, 5};
    Long   arr2[] = {1l, 2l, 3l, 4l, 5l};
    Float   arr3[] = {1f, 2f, 3f, 4f, 5f};
    Double  arr4[] = {1d, 2d, 3d, 4d, 5d};
    Character arr5[] = {'a', 'b', 'c', 'd', 'e'};
    String  arr6[] = {"Generics ", "are ", "easy ", "to ", "understand"};
 
    // لعرض محتوى جميع المصفوفات printArray() هنا قمنا باستدعاء الدالة
    printArray( arr1 );
    printArray( arr2 );
    printArray( arr3 );
    printArray( arr4 );
    printArray( arr5 );
    printArray( arr6 );
 
  }
 
}

إجابات 1

أضف إجابة

يجب تسجيل الدخول حتى تتمكن من إضافة إجابة أو رد.

الدورات

أدوات مساعدة

أقسام الموقع

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