リフレクションで取得したクラスの一覧の各クラスのString型のフィールドにだけ 任意の値を設定するサンプルを下記のように作成しました。 このプログラムの流れの中でString型のフィールドに任意の値を設定するには どのように書けばよいでしょうか。 調べてみるとFieldクラスのsetメソッドを使用するようですが下記サンプルの中で 第一引数には何を渡せばよいかがわからないです。 【サンプル】 ※最初のgetClasses()で指定パッケージ配下のクラスは取得できています。 import java.io.File; import java.io.IOException; import java.lang.reflect.Field; import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; public class ReflectionTest { public static void main(String[] args) { List> classes; try { // 指定したパッケージ配下のクラスを取得 classes = getClasses("test"); for (Class> class1 : classes) { Field[] fields = class1.getDeclaredFields(); for(Field field : fields) { field.set(????, "任意の文字列"); // 第一引数に何を渡せばよい?? System.out.println(field.getType().getName()); } } } catch (ClassNotFoundException | IOException | URISyntaxException e) { e.printStackTrace(); } } }
↧