可以在java中使用switch(java.lang.Object)?

我的应用程序需要具有类型的开关案例语句。String

我需要这样的东西:

    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
    }

有可能吗?

编辑:

将开关案例用于条件而不是与 和 一起使用是否更好?请评论一下?nifelse


答案 1

由于您正在打开字符串,因此我假设字符串在编译时是已知的。在这种情况下,您可以使用枚举。

    public enum MyStrings{

        LIST1, LIST2
    }

然后

    switch(MyStrings.valueOf(option)){

         case LIST1: do something; break;
         //etc.
    }

答案 2

在 JDK 7 发行版中,可以在 switch 语句的表达式中使用 String 对象:http://docs.oracle.com/javase/7/docs/technotes/guides/language/strings-switch.html