Quando stavo iniziando a programmare in Java, il fatto che le istruzioni switch non prendessero stringhe mi ha frustrato. Poi, usando Enums, ho compreso i vantaggi che si ottengono con loro piuttosto che passare intorno ai valori non elaborati - digitare safety (che facilita il refactoring) & anche chiarezza con altri sviluppatori.
Sto faticando a pensare a una situazione in cui con SE7 ora deciderò di utilizzare uno switch con stringhe come input anziché Enums. Se vengono implementati tramite l'attivazione di intere stringhe (ad esempio anziché le corrispondenze parziali o regolari), non sembra offrire meno motivi per la modifica del codice.
E con gli strumenti IDE e il rapporto lettura-scrittura della codifica, sarei molto più felice di generare automaticamente un Enum extra rispetto al passaggio di valori stringa.
Quali vantaggi ci offrono come programmatori? Meno piastra della caldaia?
Non sembra che la lingua stia piangendo per questa funzione. Anche se forse c'è un caso d'uso che sto trascurando.