Коли я починав програмувати на Java, мене відлякував той факт, що заяви переключення не брали рядків. Тоді, використовуючи Enums, я зрозумів переваги, які ви отримуєте з ними, а не передаючи необроблені значення - безпеку типу (що полегшує рефакторинг) та також зрозумілість для інших розробників.
Я намагаюся думати про ситуацію, коли з SE7 я зараз вирішу використовувати перемикач із рядками в якості входів, а не Enums. Якщо вони реалізовані за допомогою перемикання на цілі рядки (наприклад, замість часткових або регулярних збігів), схоже, це не пропонує менше причин для зміни коду.
І з інструментами IDE та коефіцієнтом читання-запису кодування я був би набагато щасливішим автоматично генерувати додатковий Enum, ніж обходити рядкові значення.
Яку користь вони приносять нам програмістам? Менше котла-плити?
Не здається, що мова кричала за цією функцією. Хоча, можливо, є корисний випадок, який я оглядаю.