比较基于String的java枚举

时间:2015-04-30 06:18:48

标签: java string enums

我的Enum定义如下。

[root@redhatOpenstack1 ~]# ps aux|grep neutron-server
neutron   2995  0.3  0.1 393112 63136 ?        S    Mar22 188:02 /usr/bin/python /usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --log-file /var/log/neutron/server.log

我的问题是,如果我使用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 ,我是否需要在状态枚举中覆盖等号?

2 个答案:

答案 0 :(得分:1)

  • 您无法覆盖枚举的equals方法。
  • 这里不需要覆盖它。
  • 您可以直接使用status == Status.PENDING。

答案 1 :(得分:1)

您可以简单地将枚举实例与==:

进行比较
if (status == Status.PENDING)

您也可以在枚举上进行切换。