我想在Android的aplication,在這裏我要檢查一個整數等於一些枚舉的價值。代碼使用switch語句是這樣的:Java的開關case語句問題
public enum RPCServerResponseCode{
E_INCORRECT_LOGIN(4001),
E_ACCOUNT_DISABLED(4002),
E_ACCOUNT_NOT_ACTIVE(4003);
private int value;
private RPCServerResponseCode(int i) {
this.value=i;
}
public static RPCServerResponseCode getByValue(int i) {
for(RPCServerResponseCode dt : RPCServerResponseCode.values()) {
if(dt.value == i) {
return dt;
}
}
throw new IllegalArgumentException("No datatype with " + i + " exists");
}
}
}
我的switch語句是這樣的:
int errorCode;
switch(errorCode){
case RPCServerResponseCode.E_INCORRECT_LOGIN :
{
if (user.isAuthenticated)
{
// logout before login
}
break;
}
case RPCServerResponseCode.E_ACCOUNT_NOT_ACTIVE:
{
if (user.isAuthenticated)
{
//logout
}
break;
}
}
}
,但我得到錯誤說的:「類型不匹配:不能從RPCCommucatorDefines.RPCServerResponseCode轉換爲int」。 任何建議如何解決這個問題?提前致謝!!!
的可能重複[switch語句:數枚舉值/ 1002 = MyEnum.NewYorkID](http://stackoverflow.com/questions/7162192/switch-statement-number-to-enum-value-1002-myenum-newyorkid) –
感謝您的評論。其實我沒有看到這個問題。 –