在Dart中提供枚举之前,我写了一些繁琐且难以维护的代码来模拟枚举,现在想要简化它.我需要将枚举的值作为字符串获取,例如可以用Java完成,但不能.
例如,当我想要的是"星期一"时,小测试代码片段在每种情况下返回'day.MONDAY'
enum day {MONDAY, TUESDAY}
print( 'Today is $day.MONDAY');
print( 'Today is $day.MONDAY.toString()');
Run Code Online (Sandbox Code Playgroud)
我是否更正为了得到'星期一'我需要解析字符串?
有一种简单的方法可以将整数值转换为枚举吗?我想从共享首选项中检索一个整数值并将其转换为枚举类型.
我的枚举是:
enum ThemeColor { red, gree, blue, orange, pink, white, black };
Run Code Online (Sandbox Code Playgroud)
我想轻松地将整数转换为枚举:
final prefs = await SharedPreferences.getInstance();
ThemeColor c = ThemeColor.convert(prefs.getInt('theme_color')); // something like that
Run Code Online (Sandbox Code Playgroud) 我定义了一个枚举:
enum TestEnum {
test1,
test2,
}
Run Code Online (Sandbox Code Playgroud)
我想用索引做一个枚举:
E buildEnum<E extends ?????????????????>(int index) {
try {
return E.values[index];
}
catch(e) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道枚举的类型。