使用 class.isEnum() 还是 instanceof Enum 更好?

2022-09-02 20:44:15

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

object.getClass().isEnum()

object instanceof Enum

一个更好吗?


答案 1

在我看来,由于以下几个原因,它更好:object instanceof Enum

  • 这里问的非常明显:“这是一个枚举吗”?
  • 它不会冒 a 的风险(如果是 ,它将只评估为NullPointerExceptionobjectnullfalse)
  • 它更短。

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


答案 2