Цитата
Кстати, что мешает компилятору строить case по любому типу, для которого определена операция сравнения?
Май 1991 года. Подготовка нового Стандарта языка программирования Ада (то, что должно было стать Ada-95). В документе есть 2 интересных запроса на усовершенствование:
Цитата
RR-0312 Generalize case statement to decision table
RR-0320 Generalize case statement for other types, including REAL
Оба запроса отклонены с одной и той же формулировкой: "These requests were rejected as requiring too much change by implementors to justify the expected payoff." (Запросы отклонены как требующие от разработчиков слишком многочисленных изменений, чтобы оправдать ожидаемый выигрыш).
Та же участь постигла и подобное предложение, внесенное перед рассмотрением Стандарта-2012.
Кстати. В проекте Java 7 - таки оставили пункт о строковых switch-ах. Посмотрим, что из этого получится, реализуют или нет... Но даже если и реализуют - они
уже примерно объяснили, как это будет сделано. Неявный вызов метода intern().