Ci sono diversi casi in cui voglio passare l'input di una stringa. Ho deciso di implementare qualcosa del tipo:
public Object doStuff(String param) {
switch (param.hashCode()) {
case 1234546:
break;
case -18754956:
break;
default:
whatever();
}
}
Funziona come previsto, ma c'è questa sensazione che qualcosa può andare storto.
Quali sono le possibili insidie nell'usare questa implementazione? Sono obbligato ad usare java 1.5 o 1.6 perché dettami aziendali così (quindi non posso aggiornare a 1.7 o successive).
Esiste una migliore implementazione di uno switch su Strings diverso da una catena mostruosa di if-then-else
(ai fini di questa domanda, supponiamo di non poter fare if-then-else su ogni possibile valore di stringa dell'input)?
related: Qual è il vantaggio dell'attivazione di String in Java 7? , ma sto chiedendo il pre-1.7