我正在创建一个库,其中包含一个将参数作为枚举的函数
public class Service
{
public static void setServiceMode(SERVICE_MODE mode)
{
}
}
现在,我有一个项目正在导入上面的库,并按如下所示调用“ setServiceMode”函数
Service.setServiceMode(SERVICE_MODE.LOGIN)
我的问题是,在哪里声明枚举(SERVICE_MODE),因为我必须在库函数参数中传递它,而枚举的值是特定于项目的。我不想在我的书架中进行更改。如何在Java中实现呢?
最佳答案
如果可以接受,您可以使库仅接受任何enum
:
public class Service {
public static <E extends Enum<E>> void setServiceMode(E mode) {
}
// Or a pre-generics version.
public static void setServiceMode2(Enum mode) {
}
}
public enum SERVICE_MODE {
LOGIN,
LOGOUT;
}
public void test() {
Service.setServiceMode(SERVICE_MODE.LOGIN);
Service.setServiceMode2(SERVICE_MODE.LOGIN);
}
关于java - 如何将枚举声明为类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27942194/