سؤال

دعنا نقول أن لدي ما يلي:

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 ليس ضروري.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top