リフレクション+ジェネリック?抽出ユーティリティutilsパッケージ

+一般的な反射



インポートをjava.lang.reflect.Field;

パブリッククラスハック<T> {
公共の静的な無効メイン(文字列[]引数)スロー例外{
学生学生=新しい学生()。
新しいハック<学生>()writeRecord(学生)。

}
公共同期ボイドwriteRecord(T tは){例外がスロー
クラスclasszz = t.getClass()を。
フィールド[] fieldArray = classzz.getDeclaredFields()。
(項目f:fieldArray)用{
//获取每个属性名、对应表中的每个字段
f.setAccessible(TRUE)。
試す{
文字列フィールド名= f.getName()。
文字列値= String.valueOf(f.get(T))。
System.out.println(フィールド名+ ":" +値)。
}キャッチ(例外e){

}
}
}
}

クラスの学生{
プライベート文字列名= "張"。
プライベートint型の年齢= 20;

パブリック文字列のgetName(){
名前を返します。
}

公共ボイドのsetName(文字列名){
this.name =名。
}

公共INT getAge(){
戻り年齢;
}

公共ボイドsetAge(int型の年齢){
this.age =年齢。
}
}

 

おすすめ

転載: www.cnblogs.com/the-fool/p/11277954.html
おすすめ