switch后面的括号里面只能放int类型的值,注意是只能放int类型,但是放byte,short,char,和枚举(enum)。
因为byte,short,char,,可以隐式的转换为int类型,不是说就可以放它们。说白了,你放的byte,short,char,枚举(enum),然后他们会自动转换为int类型(宽化,自动转换并且安全),其实最后放的还是int类型
所以long, string不行 。
至目前JDK6.0 switch可以作用于byte short int char Enum(枚举,自1.5开始),,,但是在JDK7.0版本上还可以作用于string上 |