لا تحتوي جرات الأناشيد على أحرف برية من النوع لأن .NET Generics مدعوم من قبل CLR ، في حين أن Java JVM لا يدعم الأدوية الجيلية ، ولكن فقط بناء جملة السكر ، ويتم تحويلها إلى أنواع الكائنات عند تجميعها بواسطة المترجم
تمثل البطاقات البرية النوع الفئة الأصل للأنواع العامة في Java
اختبار void العام (قائمة <Object> c) {for (int i = 0 ؛ i <c.size () ؛ i ++) {system.out.println (c.get (i)) ؛ }}// قم بإنشاء قائمة <Tring> قائمة كائنات <string> strlist = new ArrayList <String> () ؛ // تقويم اختبار طريقة الاختبار السابقة (StrList) ؛
قم بتجميع البرنامج أعلاه ، وسيحدث خطأ في التجميع في Test (StrList) ، مما يعني أنه لا يمكن اعتبار قائمة <String> كفئة فرعية من القائمة <Object>. في هذا الوقت ، تحتاج إلى استخدام نوع Wildcard ، وهو أمر؟
يمكن استبدال القائمة أعلاه <Object> بقائمة <؟> وبعد ذلك يمكن تجميعها
اختبار void العام (قائمة <؟> c) {for (int i = 0 ؛ i <c.size () ؛ i ++) {system.out.println (c.get (i)) ؛ }}يمكن استخدام القائمة <string> كطلة فرعية من القائمة <؟> ، يمكن استخدام القائمة <؟> كفئة الوالدين من أي نوع قائمة ،
ماذا لو كنت تريد أن تكون فئة الوالدين للقائمة <string> بدلاً من القائمة <int>؟ اكتبها مثل هذه القائمة <؟ يمتد سلسلة>
في C#، هذا هو نوع القيد
الفئة myClass <t ، u> حيث t: class where u: struct {} واجهة imyinterface {} فئة القاموس <tkey ، tval> حيث tkey: icomparable ، ienumerpary where tval: imyinterface {public void add (tkey key ، tval val) {}}الحد الأعلى للحشود البرية العامة المقيدة في جافا:
// تشير إلى أن نوع t يجب أن يكون فئة الأرقام أو فئة الفرعية ، ويجب أن تنفذ java.io.serializable class public apple <t يمتد الرقم و java.io.serializable> {}ما ورد أعلاه هو المحتوى الكامل لمقارنة وتحليل أحرفات Java Generic Wildcards و C# التي قدمها لك المحرر. آمل أن يدعم الجميع wulin.com ~