У меня есть следующий класс:
public class Test {
public static int a = 0;
public int b = 1;
}
Можно ли использовать отражение, чтобы получить список только статических полей? Я знаю, что могу получить массив всех полей с Test.class.getDeclaredFields()
. Но, похоже, нет способа определить, является лиField
экземпляр статическое поле или нет.
java
reflection
static
field
Андерс
источник
источник
Ответы:
Вы можете сделать это так:
источник
Я случайно наткнулся на этот вопрос и почувствовал, что нужно обновление Java 8 с использованием потоков:
Очевидно, что этот образец немного украшен для удобства чтения. На самом деле, вы, скорее всего, напишите это так:
источник
Если вы можете добавить в свой проект зависимости с открытым исходным кодом, вы также можете использовать FieldUtils.readDeclaredStaticField (Test.class, "a")
источник
Это просто, вы можете использовать модификатор, чтобы проверить, является ли поле статическим или нет. Вот пример кода для такого рода задач.
источник