我有一个接口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