Dél*_*nio 3 java comparison enums
我虽然这是一个常见的问题,但我找不到任何解决方案.
有一个枚举,类似于
public enum MyEnum { C, G, A, T, U }
Run Code Online (Sandbox Code Playgroud)
我需要将一个枚举实例与另一个实例进行比较,如下所示:
C补充G
G补充C
A补充T
T补充A
U补充T
T补充U.
如果不编写如下代码,我怎么能这样做:
public boolean complements(MyEnum other) {
if(this.compareTo(C) == 0) {
if(other.compareTo(G) {
return true;
} else return false;
}
...
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
为什么不有一个complements领域?你可以拥有它EnumSet.
enum MyEnum {
G, C, A, T, U;
static {
C.complements = EnumSet.of(G);
G.complements = EnumSet.of(C);
A.complements = EnumSet.of(T);
T.complements = EnumSet.of(A, U);
U.complements = EnumSet.of(T);
}
private EnumSet<MyEnum> complements;
public boolean complements(MyEnum other) {
return complements.contains(other);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |