qual é a melhor solução, utilizar um switch ou if’s aninhados? tem alguma diferença de performance entre os dois?
Valew Galera!!
qual é a melhor solução, utilizar um switch ou if’s aninhados? tem alguma diferença de performance entre os dois?
Valew Galera!!
O switch normalmente é mais rápido se as condições forem consecutivas ou com “gaps” muito pequenos entre as condições, do tipo:
switch (valor)
{
case 1: ...
case 2: ...
case 3: ...
case 5: // note o gap de apenas 1
case 6: ...
case 7: ...
case 9: ...
case 10: ...
...
}
Isso porque ele é transformado em um equivalente do “goto calculado” do Fortran, ou seja, vai para um local no seu programa indexado por uma tabela.
Mesmo sendo melhor, o certo seria usar Poliformismo para evitar essas coisas, não é?
Pena que não tenho um bom material para informar.
valew pelas respostas
Jovem, dá uma lida nesse post
http://www.guj.com.br/posts/list/55885.java#293436
Vale a pena
abraços