#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-компилятор всё равно делает их лучше вас. Поэтому оптимальнее использовать то, что делает код чище и проще для сопровождения.
Комментариев нет:
Отправить комментарий