2.Switch语句的参数类型
2019独角兽企业重金招聘Python工程师标准>>>
Switch语句的参数类型
JDK1.6 的版本中,switch后面的括号里面只能放int类型的值,注意是只能放int类型,但是放byte,short,char类型的也可以。是因为byte,short,shar可以自动提升(自动类型转换)为int。而不能放long型和String型。
JDK1.7 的版本中,switch中可以使用字串String。但仍不支持long型。
原理:hashCode()+equals()
编译器在编译期间给代码做了转换。
原始代码:
public class StringInSwitchCase { public static void main(String[] args) { String mode = args[0]; switch (mode) { case "ACTIVE": System.out.println("Application is running on Active mode"); break; case "PASSIVE":System.out.println("Application is running on Passive mode"); break; case "SAFE": System.out.println("Application is running on Safe mode"); } }
}
编译器优化后:
import java.io.PrintStream; public class StringInSwitchCase{ public StringInSwitchCase() { } public static void main(string args[]) { String mode = args[0]; String s; switch ((s = mode).hashCode()) { default: break; case -74056953: if (s.equals("PASSIVE")) { System.out.println("Application is running on Passive mode"); } break; case 2537357: if (s.equals("SAFE")) { System.out.println("Application is running on Safe mode"); } break; case 1925346054: if (s.equals("ACTIVE")) { System.out.println("Application is running on Active mode"); } break; } }
}
转载于:https://my.oschina.net/u/997707/blog/804765
2.Switch语句的参数类型相关推荐
- switch 语句的参数类型
switch(参数值){ case value: [default://可选 defaultStatements; ] } 参数值类型必须是这几种类型之一:int,byte,char,short sw ...
- JavaScript中switch语句的参数问题
JavaScript中switch语句的参数类型可以为boolean类型. 例:编写一个程序,实现对给出的一个百分制成绩输出相应的等级. 即:90分以上为'A',80-89分为'B',70-7 ...
- switch接受的参数类型
java的switch-case语句格式如下: [java] view plaincopy switch(参数) { case 常量表达式1: break; case 常量表达式2: break; . ...
- Switch语句的参数是什么类型的?
在Java5以前,switch(expr)中,exper只能是byte,short,char,int类型. 从Java5开始,java中引入了枚举类型,即enum类型. 从Java7开始,exper还 ...
- switch中的参数类型
关于switch的参数类型 switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int ...
- Java中switch语句支持的类型
switch语句表达式的取值类型: 基本数据类型:byte,short,int,char JDK5以后可以是枚举 JDK7以后可以是String 不支持long.float.double.boolea ...
- switch语句作用的类型
switch只能作用于整数表达式或者枚举常量. 整数表达式可以是int基本类型或Integer包装类型,byte,short,char可以隐式转为int: long和String不能作用于switch ...
- js中switch语句的参数问题
js中switch语句是可以使用变量,表达式,字符串,布尔值等来作为参数的! 例如: <!DOCTYPE html> <html lang="en"> &l ...
- 关于mybatis的参数2个使用经验(类似于struts2的通配所有页面的action配置,xmlsq语句参数类型为基本类型时的快捷指定办法)...
1.我们都知道在struts2中为防止浏览器绕过struts过滤器直接请求页面,所以我们都会配置一个拦截所有页面的action,如下: <action name="*"> ...
最新文章
- Windows Server 2003文件夹不能共享的解决办法【转】
- python入门经典例题-Python入门经典练习题
- Java Servlet 技术简介
- 前台如何解析json格式 以及后台如何生成json格式
- DIV+CSS专题:十天学会DIV+CSS
- JimuReport积木报表—分版设计解决什么问题?
- java ceilingentry_java.util.TreeMap.ceilingKey()方法实例
- iOS 开发面试通关指南:67 个必知问题!
- Redis安装及HA(High Availability)配置
- loadrunner要点总结
- 蚂蚁课堂-第四期-基于SpringCloud构建微服务电商项目 (无密) 解压密码是多少
- 微信号,手机号,邮箱验证格式
- Excel笔记(持续更新)
- 如何获得使用PHP的服务器的本地IP地址?
- 星际无限 | 2021年IPFS应该关注的重点是什么?
- Windows“自动修复”无法修复
- 电子邮箱的格式怎么写,电子邮箱的正确格式填写时什么样子
- 快手2020校园招聘秋招笔试--工程C试卷
- 北大青鸟java数组_北大青鸟:Java 数组解说(1)
- python生成热度图_Python 绘制热度图(seaborn)