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

时间:2011-08-11 19:47:46

标签: java enums

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

object.getClass().isEnum()

object instanceof Enum

一个更好吗?

1 个答案:

答案 0 :(得分:23)

我认为object instanceof Enum更好,原因如下:

  • 这里提出的问题非常明显:“这是一个枚举”吗?
  • NullPointerException不会带来风险(如果objectnull,它只评估为false
  • 它更短。

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