При разработке для Android оператор switch более эффективен, чем цепочка if-else? Оператор switch требует большего количества строк кода, но, судя по неофициальным данным, более часто используется в приложениях Android.
Приведенные ниже примеры иллюстрируют ту же конструкцию программирования с оператором case и цепочкой if-else. Для оператора switch требуется 10 строк, а для цепочки if-else - 7.
Оператор Case
public void onClickWithSwitch(View v) {
switch(v.getId()) {
case R.id.buttonA:
buttonA();
break;
case R.id.buttonB:
buttonB();
break;
case R.id.buttonC:
buttonC();
}
}
Цепочка If-else
public void onClickWithIf(View v) {
int id = v.getId();
if(id == R.id.buttonA)
buttonA();
else if (id == R.id.buttonB)
buttonB();
else if (id == R.id.buttonC)
buttonC();
}
Почему переключение должно быть более распространенным, чем цепочка if-else? Предлагают ли операторы switch более высокую производительность по сравнению с цепочками if-else?