получение всех статических переменных в классе в массив / список - PullRequest
13 голосов
/ 17 декабря 2010

Бит странного требования.

public class DummyClass{
   public static final DummyClass var1;
   public static final DummyClass var2;
   public static final DummyClass var3;
    .
    .
    .
   public static final DummyClass var100;
}

Теперь, за пределами этого класса, мы можем объединить эти переменные в один массив или список, чтобы я мог их перебирать? Например, если я сделаю что-то вроде

List<DummyClass> dummyList = *some op*; //I want value of some op.

Я должен иметь доступ к var1 ... var100

1 Ответ

32 голосов
/ 17 декабря 2010

Вы можете использовать отражение:

Field[] fields = DummyClass.class.getDeclaredFields();
for (Field f : fields) {
    if (Modifier.isStatic(f.getModifiers()) && isRightName(f.getName())) {
        doWhatever(f);
    } 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...