有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

比较基于字符串的java枚举

我有一个枚举定义如下

enum Status {
            PENDING("PENDING"),
            ABANDONED("ABANDONED"),
            PROCESSED("PROCESSED");

            private String value;
            private ReflectionStatus(String valueParam) {
                value = valueParam;
            }

            public String getValue() {
                return value;
            }                    
        }

Status status; 
// followed by code that sets status

我的问题是,如果我使用if(status.equals(Status.PENDING)),我是否需要覆盖Status enum中的equals


共 (2) 个答案

  1. # 1 楼答案

    • 不能重写enum的equals方法
    • 这里不需要覆盖它
    • 您可以直接使用status==status。待定
  2. # 2 楼答案

    您只需将枚举实例与==:

    if (status == Status.PENDING)
    

    还可以在枚举上进行切换