我有一個類定義這樣自己的枚舉:我怎麼可以參考我的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