我有两个Enum Class,其中包含相同类型的元素。如何将值从A类复制到B类?
public enum A{
EAST,
WEST,
NORTH,
SOUTH;
}
public enum B{
EAST,
WEST,
NORTH,
SOUTH;
}
答案 0 :(得分:1)
你可以这样做:
A a = A.EAST;
B b = B.valueOf(a.name());
或如下面的评论
B b = B.valueOf(A.EAST.name());
取决于您在代码中使用枚举的方式。
答案 1 :(得分:0)
如何使用一个实现两个接口的枚举?
enum A implements Side, Direction {
...
}
还是一个由两件事组成的枚举?
enum A {
public Side asSide(){return side;}
public Direction asDirection(){return direction;}
...
}
答案 2 :(得分:0)
使用将A.java
复制到B.java
的ant任务,并将enum A
替换为enum B
。
您也可以使用bash:
来完成sed -r -e 's@enum\s+A\b@enum B@g' A.java > B.java
现在,由于两个enum
的意思相同,你应该用两个边课来包装它们:
WrapperA
和WrapperB
使用EnumC
,您可以稍后WrapperA
暂停EnumA
并WrapperB
暂停EnumB
}。这样做比使用一些不起眼的任务做一个肮脏的工作更容易维护:你可以从编译和版本化中获益。