我有个问题。如何为具有不同对象的多个静态类定义 Enum 类型作为 Enum?
例子:
public abstract class AbstractClass
{
public Enum<?> AbstractMethod();
}
public class StaticClass extends AbstractClass
{
public enum en
{
FOO3,
FOO4
}
@Override
public Enum<en>[] AbstractMethod()
{
return en.values();
}
}
public class StaticClass2 extends AbstractClass
{
public enum en
{
FOO1,
FOO2
}
@Override
public Enum<en>[] AbstractMethod()
{
return en.values();
}
}
但是该代码会引发错误:该方法public boolean AbstractMethod(Enum<ObjectX> en1)
在 AbstractClass 中不存在(X 是对象的编号)
这样做是可行的,但会引发 RawTypes 警告:
public abstract class AbstractClass
{
public Enum[] AbstractMethod();
}
public class StaticClass extends AbstractClass
{
public enum en
{
FOO3,
FOO4
}
@Override
public Enum[] AbstractMethod()
{
return en.values();
}
}
public class StaticClass2 extends AbstractClass
{
public enum en
{
FOO1,
FOO2
}
@Override
public Enum[] AbstractMethod()
{
return en.values();
}
}