Senin, 02 Agustus 2010

Menggunakan switch dan String pada Java

Saat tulisan ini ditulis, Java tidak bisa membandingkan tipe data String pada pada perintah switch (gimana nih si pembuat Java). Misalnya cuplikan program yang tidak bisa digunakan :

String a = "satu";

switch (a) {
case "satu" : System.out.println("1"); break;
case "dua" : System.out.println("2"); break;
case "tiga" : System.out.println("3"); break;
}

Solusi untuk mengatasi masalah di atas adalah dengan menggunakan enum seperti contoh program di bawah ini :

public class switchString {
public enum warnaLampu {
merah, kuning, hijau, salah;

public static warnaLampu nyala(String str) {
try {
return valueOf(str);
} catch (Exception ex) {
return salah;
}
}
}
/** Creates a new instance of switchString */
public static void main(String[] args) {
String warna = "biru";

switch (warnaLampu.nyala(warna)) {
case merah:
System.out.println("stop"); break;
case kuning:
System.out.println("pelan"); break;
case hijau:
System.out.println("jalan"); break;
default :
System.out.println("ngaco");
}
}

}

Mudah-mudahan di Java versi berikutnya, masalah di atas sudah bisa diperbaiki (soalnya kalo pake enum, capeee deeee)

Tidak ada komentar: