枚举值可以直接用 == 比较, 因为枚举值是单例的, 相同枚举值, 一定是相同的对象

也可以使用 equals 比较, 枚举类的基类重写了 equals 方法, 内部也是 == 判断的

  /**
     * equals
     */
    @Test
    public void testEquals() {
        // 使用枚举时, 可以安全地使用 ==  (因为枚举都是单例的)
        System.out.println("DatePeriodEnum.DAY == DatePeriodEnum.DAY = " + (DatePeriodEnum.DAY == DatePeriodEnum.DAY));

        // 或者使用 equals (Enum 类重写了该方法)
        System.out.println("DatePeriodEnum.DAY.equals(DatePeriodEnum.DAY) = " + DatePeriodEnum.DAY.equals(DatePeriodEnum.DAY));
    }

==比较

枚举值比较

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐