Java学習——類名によって方法名を取得し、方法を呼び出します。
1060 ワード
最近プロジェクトでmybatisを呼び出して実体類のオブジェクトを取得しましたが、実体類のオブジェクトから属性値を取る必要があります。ここでは以下のいくつかの知識が必要です。
1.Objectオブジェクトからクラス名を取得する
2.クラスのオブジェクトに応じて、すべてのオブジェクトのメソッド名を取得します。
3.メソッド名に従って方法を呼び出す。
*最初の問題コードを解決する:
クラスを通して get Methods()メソッドです。
まずMethodオブジェクトを取得し、Methodオブジェクトのinvoke()メソッドを呼び出します。
コードは2番目の問題を解決するコードにあります。
最後に、取得したエンティティクラスのデータを別の抽象データクラスに置く必要があります。ここでは、メソッド名に基づいて人工的にデータを取得し、lingの別のクラスに入れる必要があります。
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の別のクラスに入れる必要があります。