如何引用Java枚举而不指定其类型

我有一个类,它定义自己的枚举,如下所示:

公共类测试
{
枚举MyEnum{E1,E2};
公共静态无效aTestMethod(){
Test2(E1);//<在eclipse中给出了“E1无法解析”。
}
公共测试2(MyEnum e){}
}

如果我指定MyEnum.E1,它可以正常工作,但我真的希望它是“E1”。你知道我怎样才能做到这一点吗?或者,为了让它工作,我必须在另一个文件中定义它吗

结论:
我无法获得正确的导入语法。因为有几个答案表明这是可能的,所以我将选择一个提供我所需语法的答案,并对其他答案进行投票

顺便说一句,其中一个非常奇怪的部分(在静态导入开始工作之前),我编写的一个使用枚举的switch语句不允许枚举以其类型作为前缀——所有其他代码都需要它。伤了我的头

实际上,您可以对嵌套枚举进行静态导入。下面的代码编译得很好:

包我的包;
导入静态mypackage.Test.MyEnum.*;
公开课考试
{
枚举MyEnum{E1,E2};
公共静态无效aTestMethod(){
Test2(E1);
}
公共静态void Test2(MyEnum e){}
}

发表评论