Как я могу сравнить типы в Java с отражением - PullRequest
7 голосов
/ 25 июня 2010

У меня следующий код, и теперь у меня есть тип, но мне нужно иметь какой-то переключатель, чтобы знать, является ли тип, например, String, а затем выполнить обработку для строк. Так, как я могу проверить, является ли Тип t типом String?

Type t = bean.getClass().getDeclaredField(fieldName).getType();

1 Ответ

10 голосов
/ 25 июня 2010

Вы хотите сделать проверку имени или проверку на основе объекта?

Поскольку Class реализует Type, вы можете фактически перейти напрямую и выполнить равенство с String.class Например: if(t.equals (String.class))

Если, однако, вы хотите выполнить проверку на основе имени, сначала проверьте, является ли t экземпляром класса, а затем приведите его к классу, получитеполное имя типа и сравнить.

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