Как проверить, является ли значение поля Java, полученного отражением, нулевым? - PullRequest
1 голос
/ 22 ноября 2011

У меня есть

Field f = this.getClass().getFields()[0];

Мне нужно знать, равно ли значение f в this null или нет.Существует много методов, таких как getInt() и getDouble(), но я не нашел такого метода, как Object getData() или isNull().Есть ли такой способ?

Ответы [ 4 ]

11 голосов
/ 22 ноября 2011

field.get(target) возвращает Object. Так что вы можете проверить if (field.get(this) == null) {..}

Если поле примитивное, оно будет перенесено. int -> Integer, char -> Character и т. Д.

4 голосов
/ 22 ноября 2011

Вам нужно получить поле от объекта, а затем проверить, является ли оно пустым

Field f = this.getClass().getFields()[0];
if (f.get(this) == null)
  ...
0 голосов
/ 22 ноября 2011

используйте Object obj=f.get(this) и проверьте, является ли возвращенный объект (в данном случае obj) нулевым или нет

0 голосов
/ 22 ноября 2011

Вы недостаточно хорошо искали: http://download.oracle.com/javase/6/docs/api/java/lang/reflect/Field.html#get%28java.lang.Object%29

Вызовите этот метод и проверьте, является ли возвращенный объект нулевым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...