Лучше использовать class.isEnum () или instanceof Enum? - PullRequest
12 голосов
/ 11 августа 2011

У меня есть объект. Я хочу проверить, имеет ли он тип enum. Есть два способа сделать это.

object.getClass().isEnum()

или

object instanceof Enum

Один лучше?

1 Ответ

24 голосов
/ 11 августа 2011

На мой взгляд object instanceof Enum лучше по нескольким причинам:

  • Совершенно очевидно, что здесь задают: "это перечисление"?
  • Это не рискует NullPointerException (если object равно null, оно просто оценивается как false)
  • Это короче.

Единственная причина, по которой я бы увидел использование isEnum(), заключается в том, что у меня есть доступ только к объекту Class, а не к конкретному экземпляру.

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