В проекте есть много ситуаций где нужно проверить выбранное действие.
Что оптимальнее использовать:
Много 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;
}
Ответ
Оператор switch, как правило (то есть когда нетривиальный, в тривиальных случаях JIT его разберет на if/else) - транслируется в байткод tableswitch или lookupswitch
Производительность tableswitch O(1), а lookupswith O(log N) (то есть сравним с if/else/if)
P.S. перечень байткод инструкций
Комментариев нет:
Отправить комментарий