Java имеет оператор switch , но зависит от того, будет ли он компилироваться в таблицу переходов в байт-коде. В общем, компиляторы создадут вам таблицу переходов, если они найдут хорошие константы для каждого случая в вашем операторе switch. Я не уверен, что вам должно быть все равно, как это реализовано. Если вы в первую очередь программируете на Java, вы, вероятно, просто прекрасно позволяете компилятору и JIT позаботиться об этом за вас.
Обратите внимание, что switch работает только с целочисленными примитивными типами и перечислениями, поэтому вам do необходимо использовать операторы if / else, если вы используете другие типы объектов (и вам, вероятно, не следует сравнивать double или в любом случае плывет за равенство).
Наконец, хотя ссылки на перечисления технически "постоянны", некоторые компиляторы генерируют таблицу переходов только при включении перечислений , если ваш оператор switch находится в той же единице компиляции, где определено перечисление , В противном случае он сгенерирует вам цепочку if / else (как вы должны сделать для обычных объектов). Подробную информацию см. На форумах java.net по расширению использования коммутаторов для объектов .
.