Код станет неуправляемым, прежде чем вы нажмете любой предел, который накладывает Java.
Рассматривали ли вы рефакторинг кода? В зависимости от того, для чего создан оператор switch, вы можете либо:
Итак, в вашем случае вам было бы лучше определить статический Map
значений индекса для Classes
:
public class MyClass
{
private static final Map LOOKUP =
new HashMap(...);
static
{
LOOKUP.put(0, Adidas.class);
LOOKUP.put(1, Affin.class);
...
}
public void onItemClick(...)
{
...
// Replace switch statement with:
if (LOOKUP.containsKey(index))
{
startActivity(new Intent(Search.this, LOOKUP.get(index)));
}
else
{
Toast.makeText(Search.this,
"Invalid Selection",
Toast.LENGTH_SHORT).show();
}
}
...
}
Это облегчает чтение кода в onItemClick()
. Вы можете сделать еще один шаг и определить частный метод startActivity()
, который использует индекс, который будет использоваться, и содержит весь код замены оператора switch.