Java でリフレクションを使用してクラス内のフィールドを取得するのに問題があります。
public class CraftLib
{
static List alloyRecipes = new ArrayList();
public static HashSet damageOnCraft = new HashSet();
public static HashMap damageContainer = new HashMap();
public static void addAlloyResult(ur output, Object[] input)
{
alloyRecipes.add(Arrays.asList(new Object[] { input, output }));
}
//file continues
私は次のようにフィールドを取得しようとします:
try {
Field[] fields = Class.forName("class.path").getFields();
for(Field f : fields) {
System.out.println(f.getName());
} catch (ClassNotFoundException e) {
System.out.println("Damn.");
}
System.out.println(fields.length);
何らかの理由でdamageOnCraft
anddamageContainer
フィールドのみを取得できますが、本当に必要な ,alloyRecipes
は取得されません。最初のファイルを編集できないので、そのフィールドを取得して編集する最良の方法は何ですか?