Я думаю, что ваша установка является оптимальной, поскольку я не могу придумать, как легко сделать это в Java, хотя в языке, подобном c / c ++, вы могли бы легко отображать строки в указатели на функции, но я не думаю, что есть эквивалент об этом в Java AFAIK. Однако красота операторов switch заключается в том, что они фактически избегают беспорядка, потому что визуально вы можете легко увидеть, что такое оператор switch, и просто найти подходящий вам случай (хотя для строк, которые вы создали, нужен гигантский каскад if = = оператор не перегружен в Java для сравнения строк).
Редактировать: см. Комментарий Райана Стюартса, они используют ООП способы делать именно то, что вы хотите. Хотя в некоторых случаях это выглядит более загроможденным, чем ваш оператор switch.