إلقاء int بدائية على عدد
سؤال
دعنا نقول أن لدي ما يلي:
int a = 2;
Number b = (Number) a;
System.out.println(b); // Prints 2
http://java.sun.com/docs/books/jls/first_edition/html/15.doc.html#238146 يقول أن القيمة البدائية قد لا يتم إلقاؤها إلى نوع مرجعي. هل تعرف Java إنشاء عدد صحيح من int البدائية ثم يلقي إلى الطبقة الفائقة؟ كيف بالضبط تعامل جافا هذا وراء الكواليس؟ شكرًا!
المحلول
تسمى العملية autoboxing. باختصار ، يرى المترجم أن الغلاف (Integer
) بدلا من بدائية (int
) مطلوب ويضيف التحويل تلقائيا. وفي الواقع يلقي لك Number
ليس ضروري.
لا تنتمي إلى StackOverflow