adottare le seguenti frammento di codice Java:(Compiler) else if (true) vs scenario altrimenti
....
else if (true){ //hard-coded as true
///launch methodA
}
else {
///launch methodA (same code as in the ` else if ` statement)
}
....
Quello che mi chiedevo è come le offerte del compilatore con questo. Non sarebbe logico che il compilatore rimuovesse completamente l'istruzione else if(true)
per non dover eseguire un controllo, anche se è codificato come vero. In particolare in Eclipse, come viene interpretato il codice sopra?
O che dire nel seguente scenario:
....
else if (true){ //hard-coded as true
///launch methodA
}
else {
///launch methodBB
}
....
Non sarebbe logico in questo caso per il compilatore per rimuovere l'istruzione else
? Perché mentre è in esecuzione, l'istruzione else
non è raggiungibile.
Basta chiedersi ... il più logico (o almeno il più efficiente) sarebbe il compilatore di lasciare solo il 'metodo di lancio A', in entrambi i casi. – brlaranjeira
"Non sarebbe logico ..." Sì, ed è quello che fanno in realtà i compilatori più moderni. –