当前位置: 首页 > 知识库问答 >
问题:

飞镖,将枚举映射到字符串 [重复]

林星阑
2023-03-14

我正在使用以下代码来包含枚举值和与之关联的相应字符串。我想知道是否有更简单的方法来实现这一点?

enum StyleType {
  casual,
  chic,
  urban,
  vintage,
  punk,
}

class Style{  
  final StyleType type;

  Style(this.type);  
  
  @override
  String toString() {
      switch (type) {
      case StyleType.casual:
        return 'Casual';
      case StyleType.chic:
        return 'Chic';
      case StyleType.punk:
        return 'Punk';
      case StyleType.urban:
        return 'Urban';
      case StyleType.vintage:
        return 'Vintage';

    }
  }  

}

共有2个答案

汪信鸥
2023-03-14

这里有个简单的方法

void main() {
  
  print(test.a.toString().split(".")[1]);
  }

enum test {a,b}

这将输出a

辛建业
2023-03-14

自Dart 2.15以来,您可以使用.name属性获取字符串

print(StyleType.casual.name); // => 'casual'
 类似资料:
  • 问题内容: 我有一个类别hibernate模型: 其中有一个类型字符串字段。我也有一个Java枚举,它表示类别的类型: 我想用它代替字符串类型。SQL在varchar参数中接受两个不同的值:或。我希望Category模型类接受一个枚举变量- 每当hibernate要求它时,都以某种方式将其映射到字符串。 可能吗? 问题答案: 是的,有可能。它应该是:

  • 我有一个类别Hibernate模型: 它们具有类型字符串字段。另外,我还有一个Java枚举,它表示类别的一种类型:

  • 问题内容: 我有一个类别休眠模型: 其中有一个类型字符串字段。我也有一个Java枚举,它表示类别的类型: 我想用它代替字符串类型。SQL在varchar参数中接受两个不同的值:或。我希望Category模型类接受一个枚举变量- 并在休眠要求时以某种方式将其映射到字符串。 可能吗? 问题答案: 是的,有可能。它应该是:

  • 问题内容: 我想在打字稿中使用字符串枚举,但在其中看不到对反向映射的支持。我有一个这样的枚举: 我需要这样使用它: 是的,我不知道字符串中有什么,如果字符串未在枚举定义中显示,我需要将其解析为枚举或在运行时解析失败。我该如何做到整洁呢?提前致谢 问题答案: 我们可以将其设为一个类型,并将值设为同一类型。 更严格的版本: 字符串枚举作为此答案:

  • 问题内容: 假设我有这个枚举: 通过以下映射: 枚举被发送到数据库,,。我希望这些值改为存储为,或存储在varchar列中。 如何将枚举映射到varchar列? 问题答案: 将其添加为EnumType的参数: 这是因为等效于java.sql.Types.VARCHAR

  • 我有一个枚举文件,在其中我为PaymentTypes定义了一个对象: 这样我就有了可以使用的东西: