本教程展示了多种获取枚举名称为字符串的方法。
它在Dart和Flutter编程中把枚举常量转换为字符串。
考虑到枚举声明
enum WEEK { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
void main() {
WEEK thursday = WEEK.THURSDAY;
print(WEEK.MONDAY.toString()); //WEEK.MONDAY
print(WEEK.MONDAY.index); // zero
print(WEEK.MONDAY.runtimeType); // WEEK
}
从上面的例子中,打印Enum ,返回值本身的类型是Enum 。例如,WEEK.MONDAY.toString() 返回WEEK.MONDAY 。即周类型
本教程展示了如何将Enum值打印为名称,即MONDAY。
如何在Dart/Flutter中打印Enum常量的名称。
我们有多种方法可以在字符串中获得Enum常量的名称。
- 使用toString和split方法
例如,WEEK.MONDAY.toString() ,返回WEEK.MONDAY Enum,得到字符串版本的成字符串WEEK.MONDAY值。接下来,这个字符串用. 分隔符分成两个字符串,last 属性返回最后一个元素,即MONDAY 。
下面是一个在Dart中将Enum转换为String的例子。
enum WEEK { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
void main() {
WEEK thursday = WEEK.THURSDAY;
String name = thursday.toString().split('.').last;
print(name); //THURSDAY
print(name.runtimeType); //String
}
在Dart中,内置的属性名称会返回字符串类型和值。
下面是一个在Dart中将Enum转换为String的例子:
enum WEEK { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
void main() {
WEEK thursday = WEEK.THURSDAY;
print(thursday.name); // THURSDAY
print(thursday.name.runtimeType); // String
}
总结
总结一下。
学会了如何通过两种方式将Enum常量转换成字符串名称
- Enum名称属性
- toString()和split方法