Java学習——類名によって方法名を取得し、方法を呼び出します。

1060 ワード

最近プロジェクトでmybatisを呼び出して実体類のオブジェクトを取得しましたが、実体類のオブジェクトから属性値を取る必要があります。ここでは以下のいくつかの知識が必要です。
1.Objectオブジェクトからクラス名を取得する
2.クラスのオブジェクトに応じて、すべてのオブジェクトのメソッド名を取得します。
3.メソッド名に従って方法を呼び出す。
*最初の問題コードを解決する:
String className = object.getClass().toString();#   ‘class com.hongtu.dataport.entity.Test’,    class
# className    ,            “class ”  
Class classN = Class.forName(  );
上は比較的に愚かな方法で、もっと簡単な方法はget Classを使って直接クラスのオブジェクトを獲得することです。
Class classN = object.getClass();
*第2の問題を解決する:
クラスを通して get Methods()メソッドです。
for(Method m : classN.getMethods()){
                    if(m.getName().indexOf("get") == 0){
                        System.out.println("method:"+m.getName());
                        System.out.println(m.invoke(object));
                    }
                }
*第3の問題を解決する:
まずMethodオブジェクトを取得し、Methodオブジェクトのinvoke()メソッドを呼び出します。
コードは2番目の問題を解決するコードにあります。
最後に、取得したエンティティクラスのデータを別の抽象データクラスに置く必要があります。ここでは、メソッド名に基づいて人工的にデータを取得し、lingの別のクラスに入れる必要があります。