我有以下代碼Java擴展枚舉的switch語句
public interface EnumInterface{
public String getTitle();
}
public enum Enum1 extends EnumInterface{
private String title;
Enum1(String title){
this.title = title;
}
A("Apple"),B("Ball");
@Override
public String getTitle(){
return title;
}
}
public enum Enum2 extends EnumInterface{
private String title;
Enum1(String title){
this.title = title;
}
C("Cat"),D("Doll");
@Override
public String getTitle(){
return title;
}
}
,我如下
private EnumInterface[] enumList;//declared globally.
if(flagTrue){
enumList = Enum1.values();
}else{
enumList = Enum2.values();
}
....
....
private method1(int position){
switch(enumList[postion]){
case A:....
break;
case B:....
break;
case C:....
break;
case D:....
break;
}
}
我得到以下編譯時錯誤
使用它在其他類無法打開EnumInterface類型的值。只有可轉換的int值或枚舉變量是允許的。
我做我的研究和發現,如果我這樣做,這樣一來,「開關」的情況下是不可能的。
使用if-else。 –
@TheGuywithTheHat你能否爲同樣的代碼演示一段代碼。謝謝 – Nik
@Raj你想實現什麼? – Blackbelt