我有兩個EnumSet。 我想將某些值從一個值轉移到另一個值,但在這兩個對象中保留那些被認爲是「不可移動」的值。示例代碼... Public enum MaterialTypes {
STONE,
METAL,
WOOD,
STICKS,
STRAW;
// STONE & METAL are "immoveable"...
比方說,我有一個抽象父馴獸師類: public abstract class Trainer
<A extends Animal,
E extends Enum<E> & Trainables>{
protected EnumSet<E> completed;
public void trainingComplete(E trainable){
在java中我有: public enum MyEnum{
Value1,
Value2,
Value3,
//so on
}
和A類,將有一個屬性: public abstract class MyClass{
public EnumSet<MyEnum> myEnum= EnumSet.noneOf(MyEnum.class); }
所以我有一堆枚舉的的所有擴展接口: public interface MyInterface {}
然後我有幾個枚舉擴展接口: public enum A implements MyInterface {}
public enum B implements MyInterface {}
我想,這將只接受枚舉的擴展功能這個界面。我不能這樣做: public void MyFunction
我有一個接口 public interface TerminalSymbol {
// methods ...
}
枚舉 // common usage enum that I need
public enum Common implements TerminalSymbol {
EPSILON;
@Override
// methods ...