java - جافا - معنى كلمة عنوان بالانجليزي



ما معنى تحذير السلامة من النوع في بعض قوالب جافا العامة؟ (1)

ما معنى تحذير جافا ؟

أمان النوع: يتم التحقق بالفعل من القائمة من كائن إلى قائمة <Integer> مقابل قائمة النوع الذي تم محوه

أحصل على هذا التحذير عندما أحاول إرسال كائن إلى نوع يحتوي على معلومات عامة ، كما في التعليمات البرمجية التالية:

Object object = getMyList();
List<Integer> list = (List<Integer>) object;

يوجد هذا التحذير لأن Java لا تخزن معلومات الكتابة فعليًا في وقت التشغيل في كائن يستخدم الأدوية العامة. وبالتالي ، إذا كان object بالفعل عبارة عن List<String> ، فلن يكون هناك ClassCastException في وقت التشغيل إلا حتى يتم الوصول إلى عنصر من القائمة لا يطابق النوع العام المحدد في المتغير.

يمكن أن يؤدي هذا إلى مزيد من التعقيدات في حالة إضافة عناصر إلى القائمة ، مع معلومات النوع العام غير الصحيحة. أي رمز لا يزال يحتفظ بمرجع إلى القائمة ولكن مع معلومات النوع العام الصحيحة سيكون لها الآن قائمة غير متسقة.

لإزالة التحذير ، جرّب:

List<?> list = (List<?>) object;

ومع ذلك ، لاحظ أنك لن تتمكن من استخدام طرق معينة مثل الإضافة لأن المترجم لا يعرف ما إذا كنت تحاول إضافة كائن من النوع غير الصحيح. سيعمل ما سبق في كثير من المواقف ، ولكن إذا كان عليك استخدام الإضافة ، أو بعض الطرق المقيدة بشكل مشابه ، فسيتعين عليك فقط أن تواجه التسطير الأصفر في Eclipse (أو تعليق توضيحي SuppressWarning ).





type-safety