Seringkali ketika saya mendengar tentang pernyataan switch, itu menunda sebagai cara untuk mengganti panjang jika ... rantai lain. Tapi sepertinya ketika saya menggunakan pernyataan switch saya menulis lebih banyak kode yang saya hanya akan menulis jika ... lain. Anda juga memiliki masalah lain seperti menjaga semua variabel untuk semua panggilan dalam cakupan yang sama .
Inilah beberapa kode yang mewakili aliran yang biasanya saya tulis ( terima kasih untuk diam )
String comment; // The generated insult.
int which = (int)(Math.random() * 3); // Result is 0, 1, or 2.
if (which == 0) {
comment = "You look so much better than usual.";
} else if (which == 1) {
comment = "Your work is up to its usual standards.";
} else if (which == 2) {
comment = "You're quite competent for so little experience.";
} else {
comment = "Oops -- something is wrong with this code.";
}
Kemudian mereka ingin saya menggantinya dengan ini:
String comment; // The generated insult.
int which = (int)(Math.random() * 3); // Result is 0, 1, or 2.
switch (which) {
case 0:
comment = "You look so much better than usual.";
break;
case 1:
comment = "Your work is up to its usual standards.";
break;
case 2:
comment = "You're quite competent for so little experience.";
break;
default:
comment = "Oops -- something is wrong with this code.";
}
Sepertinya lebih banyak kode dalam sintaks yang jauh lebih canggung. Tetapi apakah benar-benar ada keuntungan menggunakan pernyataan switch?