【发布时间】:2019-10-16 11:01:23
【问题描述】:
我已经声明了这个枚举类:
public enum class RoleName {
Worker,
Boss
}
我想在 switch / case 中使用它
switch (requestRole.getName()) {
case RoleName.Worker.name():
但是我有这个编译错误
constant expression required
如果我删除 class 我得到这个 IntelliJ IDEA 错误:'class' keyword is expected after 'enum;
【问题讨论】:
-
enum不是enum class -
将您的 RoleName.Worker.name() 更改为“Worker”
-
这真的是您在删除
class时收到的错误消息吗?正是这些词? -
您是否试图将包含
RoleName常量名称的字符串转换为实际的RoleName对象? -
@Sandro 我看到你在这个问题上提出了另一个问题并删除了它,请随时问这里还有什么不清楚的地方 - 我会更新我的答案
标签: java enums switch-statement constant-expression