Switch ou if's aninhados

4 respostas
badjceo

qual é a melhor solução, utilizar um switch ou if’s aninhados? tem alguma diferença de performance entre os dois?

Valew Galera!!

4 Respostas

T

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.

Marky.Vasconcelos

Mesmo sendo melhor, o certo seria usar Poliformismo para evitar essas coisas, não é?

Pena que não tenho um bom material para informar.

badjceo

valew pelas respostas

L.Bach

Jovem, dá uma lida nesse post
http://www.guj.com.br/posts/list/55885.java#293436

Vale a pena
abraços

Criado 5 de janeiro de 2009
Ultima resposta 6 de jan. de 2009
Respostas 4
Participantes 4