使用class.isEnum()或instanceof Enum更好吗?

Ami*_*far 13 java enums

我有一个对象.我想检查它是否是enum类型.有两种方法可以做到这一点.

object.getClass().isEnum()
Run Code Online (Sandbox Code Playgroud)

要么

object instanceof Enum
Run Code Online (Sandbox Code Playgroud)

一个更好吗?

Joa*_*uer 25

我认为object instanceof Enum有几个原因更好:

  • 这里问的很明显:"这是一个枚举"吗?
  • 它没有风险NullPointerException(如果objectnull,它只会评估false)
  • 它更短.

我看到使用的唯一原因isEnum()是,如果我只能访问该Class对象而不是具体实例.