显然, long 和 String 类型都不符合 switch 的语法规定,并且不能被隐式转换成 int 类型,所以,它们...
能在Sw 从Java 7 开始,我们可以在 switch case 中使用字符串,但这仅仅是一个语法糖。内部实现在 switch 中使用字符串的 hash code。 在Java 7中,switch开始支持String类型。 从本质来讲,switch对字符串的支持,其实是int类型值得匹配。 其实现原理为:通过对case后面的String对象调用hashCode()方法,得到一个int类...
从Java 7 开始,我们可以在 switch case 中使用字符串,但这仅仅是一个语法糖。内部实现在 switch 中使用字符串的 hash code。 从Java 7 开始,Java 语言支持在switch语句中直接使用String类型的变量。之前的版本只允许在switch语句中使用整型、枚举和一些特定的类(比如Character、Byte、Short和Integer)。 使用字符串作...
【答案】:不可以,只能处理int,byte,short,char,(其实是只能处理int,其它三种是可以promotion到int型)不能处理Sring 。
因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用...
switch(表达式),表达式的内容为整数表达式或枚举常量,整数表达式即为int或integer型,因为byte、short、char都可以转换成整型,而string、long不可以,所以switch能作用在byte上而不能作用在long和string上
switch(data)中,data只能是byte,short,int,char这四种基本数据类型。 Java5以后 data加入了枚举(enum)类型 Java7以后 data加入了字符串(String)类型 现在 除了以上类型之外都不可以作用在switch上,比如:长整型(long),单精度浮点型(float)和双精度浮点型(double) 代码展示 byte a = 0; // 可以作用在switch cha...
*//***报错:*Cannotswitchon a valueoftype boolean.*Only convertible int values orenumconstants are permitted*不能切换Boolean类型,只有可转换的int值或者枚举常量才允许*//*}*/}} 笔者使用的是JDK1.6,switch中使用string时出现如下结果:解决方法就是更换1.7以上版本...
如果一定要用 long,可以用 if-else 替代 switch,或者将 long 转为 int(但需注意可能的溢出问题)。switch 能否作用在 String 上?答案是:可以(JDK 1.7 及之后版本)!在 JDK 1.7 中,switch 增加了对 String 类型的支持。这是通过将 String 的值转化为其对应的 hashCode 来实现的,但在底层会有额外...