【问题标题】:Enum with switch [duplicate]带开关的枚举[重复]
【发布时间】:2019-02-09 01:55:22
【问题描述】:

我有一个枚举,我需要将这些值绑定到另一个类中的开关,请帮助,我很困惑

public enum GSProccesingType {
    bigCover,
    cover,
    other
}

class Test {
 switch (GSProccesingType){
        case bigCover:
        break;
        case cover:
            break;
        case default:
    }
 }

【问题讨论】:

  • 有什么困惑?
  • Switch 接受一个值表达式,即使是 num 也不是一个类型。
  • 1) 类声明中不能有原始语句;它们需要在方法或初始化块中。 2) 你必须switch 一个值,而不是一个类型。
  • case default: 也是语法错误。你的意思是default: 还是case other:

标签: java


【解决方案1】:

您必须先创建一个对象。然后在 switch 语句中使用该对象。如下:

GSProccesingType type = GSProccesingType.cover;.   // type will hold any one of the enum values. Cover is one such value
switch(type){...}

对于您的示例,您需要将 bigCover 放入 switch

【讨论】:

  • 如果我有 3 个枚举值,为什么要 .cover:bigCover、cover 和其他?
  • 这是一个例子。该对象将保存任何一个枚举值
  • 我看不懂 .cover 这是什么?
  • 对于您的情况, bigCover 保存枚举的值。将该变量放入开关中。
  • @TerletskiyAlexander 完美的例子,当你没有完整阅读主题时直接跳入实现。你应该先了解what is ENUM
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 2013-02-14
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多