我有一个类定义这样自己的枚举:我怎么可以参考我的Java枚举没有指定其类型
public class Test
{
enum MyEnum{E1, E2};
public static void aTestMethod() {
Test2(E1); // << Gives "E1 cannot be resolved" in eclipse.
}
public Test2(MyEnum e) {}
}
如果我指定MyEnum.E1它工作正常,但我真的一样将其作为“E1”。任何想法我可以做到这一点,还是必须在另一个文件中定义这个工作?
结论: 我一直无法得到正确的导入语法。因为有几个答案表明这是可能的,所以我要选择一个给我我需要的语法并且提升其他语法的答案。
顺便说一句,这是一个真正的奇怪的部分(在我得到静态导入工作之前),我写的使用枚举的switch语句不允许enum按其类型作为前缀 - 所有其余的代码需要它。伤了我的头。
关于switch语句中的“非常奇怪的”行为:Java在switch语句中的所有枚举中都这样做。既然你知道你打开的是什么类型,他们认为没有理由让你在每个大小写块中再次指定类型。 http://download.oracle.com/javase/tutorial/java/javaOO/enum.html – StriplingWarrior 2011-09-29 23:56:08
我想我得到的是它不会允许枚举类型前缀。其他任何前缀都是必需的(如果不导入)或可选的。 – 2014-04-04 16:25:35
我同意你在提及'switch'不一致性时,会让经验较少的Java程序员刮目相看。 – jmarkmurphy 2015-09-23 14:07:18