#java #android
В проекте есть много ситуаций где нужно проверить выбранное действие. Что оптимальнее использовать: Много If if (...){} if (...){} if (...){} If-else if (...){} else if (...){} else if (...){} else if (...){} ... Switch switch(...){ case ONE: break; case TWO: break; case THREE: break; ... ... case N: break; }
Ответы
Ответ 1
Оператор switch, как правило (то есть когда нетривиальный, в тривиальных случаях JIT его разберет на if/else) - транслируется в байткод tableswitch или lookupswitch Производительность tableswitch O(1), а lookupswith O(log N) (то есть сравним с if/else/if) P.S. перечень байткод инструкцийОтвет 2
Подобного рода оптимизации бесполезны, так как JIT-компилятор всё равно делает их лучше вас. Поэтому оптимальнее использовать то, что делает код чище и проще для сопровождения.
Комментариев нет:
Отправить комментарий