Lorsque je commençais à programmer en Java, le fait que les instructions switch ne prennent pas de chaînes me frustrait. Ensuite, en utilisant Enums, j'ai réalisé les avantages que vous obtenez avec eux plutôt que de transmettre des valeurs brutes - la sécurité du type (qui facilite la refactorisation) et la clarté pour les autres développeurs.
J'ai du mal à penser à une situation où avec SE7 je vais maintenant décider d'utiliser un commutateur avec des chaînes comme entrées plutôt que Enums. S'ils sont implémentés via la commutation de chaînes entières (par exemple plutôt que des correspondances partielles ou regex), il ne semble pas offrir moins de raisons pour que le code change.
Et avec les outils IDE et le rapport lecture / écriture du codage, je serais beaucoup plus heureux de générer automatiquement une énumération supplémentaire que de passer des valeurs de chaîne.
Quel avantage nous apportent-ils en tant que programmeurs? Moins de plaque de chaudière?
Il ne semble pas que la langue criait pour cette fonctionnalité. Bien qu'il y ait peut-être un cas d'utilisation que j'écarte.