Преобразование Dart Enum в строку: методы и примеры

В Dart перечисления используются для определения набора постоянных значений. Могут быть случаи, когда вам нужно преобразовать значение перечисления в соответствующее строковое представление. В этой статье мы рассмотрим несколько методов решения этой задачи, а также приведем примеры кода.

Метод 1: использование метода toString()
Самый простой способ преобразовать перечисление Dart в строку — использовать встроенный метод toString(). Этот метод автоматически доступен для всех типов перечислений и возвращает имя константы перечисления.

enum Color { red, green, blue }
void main() {
  Color color = Color.blue;
  String colorString = color.toString();
  print(colorString);  // Output: Color.blue
}

Метод 2: создание карты
Другой подход заключается в создании карты, которая сопоставляет значения перечисления с их строковыми представлениями. Этот метод позволяет более индивидуально настраивать представление строк.

enum Color { red, green, blue }
void main() {
  Map<Color, String> colorToString = {
    Color.red: 'R',
    Color.green: 'G',
    Color.blue: 'B',
  };
  Color color = Color.green;
  String colorString = colorToString[color];
  print(colorString);  // Output: G
}

Метод 3. Использование оператора переключателя.
Если у вас большое количество значений перечисления и вам нужен больший контроль над строковым представлением, вы можете использовать оператор переключателя для индивидуальной обработки каждого случая.

enum Direction { north, south, east, west }
String directionToString(Direction direction) {
  switch (direction) {
    case Direction.north:
      return 'N';
    case Direction.south:
      return 'S';
    case Direction.east:
      return 'E';
    case Direction.west:
      return 'W';
    default:
      return '';
  }
}
void main() {
  Direction direction = Direction.south;
  String directionString = directionToString(direction);
  print(directionString);  // Output: S
}

В этой статье мы рассмотрели три различных метода преобразования перечисления Dart в строку. Метод toString()предоставляет простой способ получить строковое представление по умолчанию. Создание карты позволяет расширить возможности настройки, а использование оператора переключателя обеспечивает полный контроль над процессом преобразования строк. В зависимости от ваших конкретных требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям.