最近、プロジェクトの責任モジュールにより、このモジュールの下には多くのカテゴリがあり、各カテゴリにはエンコードされたコードがあり、この値はパラメーターとして運ばれます。ただし、各コードはメソッドに対応します。
多くのコード値があり、Ifelseまたは切り替えの判断を下したくないので、情報を検索しました。これにより、主にJavaの反射メカニズムを使用することでこの問題を完全に解決できることがわかりました。
テストコードは次のとおりです。(複数のパラメーターを運ぶことができます)
パッケージcom.escs.xmlutils; import java.lang.refllect.method; public class test {public string ceshi(){system.out.println( "11111111111111"); return "success";} public static void main(String [] arg)Throws Exception {//独自のクラスの名前を書きます< class.forname( "com.escs.xmlutils.test"); object obj = c.newinstance(); //最初のパラメーターはメソッド名として記述されます。 (string)method.invoke(obj、new object [] {"myname"、4}); System.out.println(str2); } public string ceshi(string str){//(int j = 0; j <integer.valueof(i); j ++){system.out.println(str); //} strを返します。 } public string ceshi2(string str、int i){for(int j = 0; j <i; j ++){system.out.println(str+"22222"); } return str; }}メソッド名が動的にスプライスされている場合、これにより簡単になります。たとえば、コード値には100、1〜100があり、コードメソッドはreturnCodelist()です。この時点で、上記の方法を抽出し、必要な値を返します。たとえば
public string fanshe(string methodname、string classname)classnotfoundexception、secutionexception、nosuchmethodexception、instantiationexception、legalaccessexception、legalargumentexception、rocationtargetexception {// class <?パラメーターはメソッド名、2番目/3番目/...メソッドパラメーターリストのパラメーターのタイプを書き込みます。 }もちろん、実際のニーズでは、プロジェクトのニーズに応じて自分で方法を描く必要があります。私はそれが誰にでも役立つことを願っています。
Java反射スプライシング方法の動的実行方法の上記の例は、エディターが共有するコンテンツ全体です。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。