مقدمة واحدة:
قبل Javase 1.5 ، بدون الأدوية الجيرية ، تم تحقيق "تعسفي" المعلمات من خلال الرجوع إلى كائن النوع. كان عيب "التعسفي" هو أن تحويل نوع المصبوب الصريح كان مطلوبًا ، وهذا التحويل يتطلب من المطورين التنبؤ بنوع المعلمة الفعلي. في حالة أخطاء تحويل نوع الممثلين ، قد لا يطالب برنامج التحويل البرمجي بخطأ ، وسيحدث استثناء فقط عند التشغيل ، وهو خطر أمان.
تتمثل ميزة الأدوية في أنها تحقق من السلامة عند التجميع ، وجميع القوالب تلقائية وضمنية ، مما يحسن معدل إعادة استخدام الرمز.
2. المعلمات العامة:
class gen <t> {private t ob ؛ // تحديد Generic Member Fariable Gen (t ob) {this.ob = ob ؛} public t getOb () {return ob ؛} public void setob (t ob) {this.ob = ob ؛} public void showtype () {system.out.println ( الفئة genericparameter {public static void main (string [] args) {// تحديد نسخة عدد صحيح من gen gen gen gen <integer> intob = new gen <integer> (100) ؛ intob.showtype () ؛ int i = intob.getob () ؛ system.out.println ("value =" + I) ؛ System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- الإخراج:
النوع الفعلي من T هو: java.lang.integer
القيمة = 100
------------------------------------------------------------------------------------------------------------------------------------
النوع الفعلي من t هو: java.lang.string
القيمة = مرحبا ديلان!
3. الأدوية:
class class genericsfoo <t> {private t x ؛ public menericsfoo (t x) {this.x = x ؛} public t getx () {return x ؛} generics! ") ؛ genericsfoo <borted> doufoo = new Genericsfoo <double> (New Double (" 33 ") Object ()) ؛ system.out.println ("strfoo.getx ="+strfoo.getx ()) ؛ system.out.println ("doufoo.getx ="+doufoo.getx ()) ؛ system.out.println ("objfoo.getx ="+objfoo.getx ()) ؛}} الإخراج:
strfoo.getx = hello generics!
doufoo.getx = 33.0
objfoo.getx=java.lang.object@1d0fafc
الأذهان الأربعة المحدودة:
استيراد java.util.arraylist ؛ import java.util.collection ؛ classe collectiongenfoo <t يمتد مجموعة> {private t x ؛ public collectiongenfoo (t x) {this.x = x ؛} public t getx () {return x ؛} public void setx (t x) {this.x = x ؛}}} {collectiongenfoo <raylist> listfoo = null ؛ listfoo = new CollectionGenfoo <ArrayList> (new ArrayList ()) ؛ collectionGenfoo <؟ تمديد المجموعة> listfoo1 = null ؛ listfoo1 = new CollectionGenfoo <raylist> (new ArrayList ()) ؛ system.out.println ("Instantiation ناجح!") ؛}} الإخراج:
كان الاستئصال ناجحًا!
خمس طرق عامة:
الطبقة العامة genericfunction {public <t> void f (t x) {system.out.println (x.getClass (). getName ()) ؛} الفراغ الثابت العام (سلسلة [] args) {genericfunction ea = new genericfunction () ؛ ea.f ("") ؛ ea.f (10) ؛ الإخراج:
java.lang.string
java.lang.integer
java.lang.character
genericfunction
------------------------------------------------------------------------------------------------------------------------------------
ديلان يعرض.
لخص
ما سبق هو كل محتوى هذه المقالة حول التفسير التفصيلي للأمثلة العامة في جافا ، وآمل أن يكون مفيدًا للجميع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!