Is it OK to use == on enums in Java?

后端 未结 8 688
暖寄归人
暖寄归人 2020-12-13 11:48

Is it OK to use == on enums in Java, or do I need to use .equals()? In my testing, == always works, but I\'m not sure if I\'m guarant

8条回答
  •  执念已碎
    2020-12-13 12:27

    Enums are a great place to jam polymorphic code.

    enum Rounding {
      ROUND_UP {
        public int round(double n) { ...; }
      },
      ROUND_DOWN {
        public int round(double n) { ...; }
      };
    
      public abstract int round(double n);
    }
    
    int foo(Rounding roundMethod) {
      return roundMethod.round(someCalculation());
    }
    
    int bar() {
      return foo(Rounding.ROUND_UP);
    }
    

提交回复
热议问题