Анализ идеи:
Сначала используйте класс для получения объекта класса, представляющего класс строки, а затем использовать метод GetDeclaredFields () класса класса для получения всех переменных членов и назначить их массиве типа полевого типа, то есть все поля класса строки получаются.
Используйте Foreach (), чтобы пройти через все поля, используйте метод getName () класса полета, чтобы получить имя переменной элемента. Полевой класс, чтобы получить тип int в указанном объекте Значение этой переменной элемента.
Поймайте allodalargumentException и исключение OldalAccessException по очереди.
Код заключается в следующем:
Кода -копия выглядит следующим образом:
импортировать java.lang.reflect.field;
публичный класс ExceptionTest {
public static void main (string [] args) {
Класс <?> Clazz = string.class;
Field [] fields = clazz.getDeclaredFields ();
для (поле Поля: Поля) {// Переливание всех полей
System.out.println (Field);
if (field.getName (). Equals ("hash")) {// Если доменное имя хэш
пытаться {
System.out.println (field.getint ("hash"));
} catch (allogalargumentException e) {// поймать нелегальное
System.out.println (e);
} catch (allogalAccessexception e) {// поймать нелегалаксексекции исключение
System.out.println (e);
}
}
}
}
}