我有一個接口FailureReason
,我想創建一個實現此接口的枚舉。所以,我有這樣的事情:在Java中的接口switch語句
public enum RemoveSalonFailureReason implements FailureReason {
REASON_1, REASON_2;
}
然後我想以這種方式來使用它:
public class SalonManager {
public String removeSalon(Long salonId) {
// some code
FailureReason failureReason = result.getFailureReason();
switch (failureReason):
case REASON_1:
// do sth
break;
case REASON_2:
// do sth
break;
}
}
但我得到一個錯誤「廣東話轉換爲整數」。那我該怎麼做?是否有可能使FailureReason
枚舉?像enum FailureReason extends Enum
或Enum<FailureReason> failureReason = result.getFailureReason()
?
如果'FailureReason'是一個接口t如果它不能是一個枚舉。如果它是一個枚舉,則不能擴展它。你試圖打開一個編譯器不知道是一個枚舉的變量,所以它會抱怨。嘗試轉換,例如switch((RemoveSalonFailureReason)failureReason)' - 當然你必須知道這種類型 - 爲了在case語句中使用'REASON_1'等,你需要知道哪種類型。 – Thomas