في الآونة الأخيرة ، نظرًا للوحدة النمطية المسؤولة عن المشروع ، هناك العديد من الفئات بموجب هذه الوحدة ، وكل فئة لديها رمز مشفر ، ويتم إجراء هذه القيمة كمعلمة. لكن كل رمز يتوافق مع طريقة.
هناك العديد من قيم التعليمات البرمجية ، ولا أريد إصدار أحكام ifelse أو تبديل ، لذلك بحثت عن معلومات ، مما جعلني أجد أن استخدام آلية انعكاس Java يمكن أن يحل هذه المشكلة بشكل مثالي
رمز الاختبار كما يلي: (يمكن أن يحمل معلمات متعددة)
package com.escs.xmlutils ؛ import java.lang.reflect.method ؛ اختبار الفئة العامة {public string ceshi () {system.out.println ("111111111111") class.forname ("com.escs.xmlutils.test") ؛ object obj = (سلسلة) method.invoke (obj ، كائن جديد [] {"myName" ، 4}) ؛ System.out.println (Str2) ؛ } السلسلة العامة ceshi (String str) {// for (int j = 0 ؛ j <integer.valueof (i) ؛ j ++) {system.out.println (str) ؛ //} return str ؛ } السلسلة العامة Ceshi2 (String str ، int i) {for (int j = 0 ؛ j <i ؛ j ++) {system.out.println (str+"22222") ؛ } إرجاع str ؛ }} هذا سيجعل الأمر أسهل إذا تم تقطيع اسم الطريقة ديناميكيًا. على سبيل المثال ، تحتوي قيم الكود الخاصة بي على 100 ، 1 ~ 100 ، وطرق الكود الخاصة بي هي ReturnCodelist () ؛ في هذا الوقت ، نقوم باستخراج الطريقة أعلاه وإرجاع القيمة التي نحتاجها ، على سبيل المثال:
السلسلة العامة Fanshe (سلسلة methodname ، string classname) يلقي classnotfoundException ، securityexception ، nosuchmethodexception ، instantiationException ، alfulalAccessexception ، alfulalArgumentException ، invocationTargetException {// اكتب اسم الفئة الخاص بك والمسار في الفئة <؟ الاسم ، والثاني/الثالث/... اكتب نوع المعلمة في طريقة قائمة المعلمة الطريقة = }بالطبع ، في الاحتياجات الفعلية ، لا تزال بحاجة إلى رسم الأساليب بنفسك وفقًا لاحتياجات المشروع. آمل أن يكون ذلك مفيدًا للجميع.
المثال أعلاه لطريقة التنفيذ الديناميكي لسيارة الربط انعكاس Java هو المحتوى بالكامل المشترك من قبل المحرر. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.