我有代表某一领域的潜在价值,与用来标识值的唯一标识符沿着一个Java枚举:重载等于枚举的方法 - 任何陷阱?
public enum MyEnum {
TYPEA("A"),
TYPEB("B")
private String code;
private MyEnum(String code){
this.code = code;
}
public String getCode(){
return code;
}
}
我还想添加自定义比较:
public boolean equals(String code){
return getCode().equals(code);
}
这将允许我比较我的枚举与字符串。
有没有我缺少的缺陷?我不能看到任何明显的错误...
看起来很好 - 你为什么需要它?枚举是常量,因此使用普通比较来比较它们应该没问题。 – 2013-03-15 13:51:51
有什么意义?除非你用相同的字符串初始化几个枚举... – assylias 2013-03-15 13:53:10
那么,我与很多使用普通旧字符串的遗留代码接口,所以这将简化迁移,而遗留代码赶上... – PaulJWilliams 2013-03-15 13:54:44