Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Possible to have switch(java.lang.Object) in java?

My application required to have switch case statement of type String.

I need something like this:

    Object list1 = "list1";
    Object list2 = "list2";
    Object list3 = "list3";

    Object option = "list1";
    switch (option) {
        case list1: // Do something
        case list2: // Do something
        case list3: // Do something
        default:    // Do something
    }

Is it possible to have?

EDIT:

Is it better to use switch case for n conditions rather going with if and else? Please comment on it?

like image 333
Mohamed Saligh Avatar asked Dec 04 '10 17:12

Mohamed Saligh


2 Answers

No, you can't do this (try it and find out). But if you want this, perhaps a Map such as a HashMap would better suit your purposes.

like image 181
Hovercraft Full Of Eels Avatar answered Sep 20 '22 20:09

Hovercraft Full Of Eels


In the JDK 7 release, you can use a String object in the expression of a switch statement: http://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html

like image 45
gerdkolano Avatar answered Sep 17 '22 20:09

gerdkolano