witch语句中,x可以是哪些类型的数据

简介: witch语句中,x可以是哪些类型的数据

27cd4f6ef3a44d40aad739d4bc203349.png

jdk1.7之前byte,short ,int ,char

jdk1.7之后加入String

java8,switch支持10种类型

基本类型:byte char short int

包装类 :Byte,Short,Character,Integer String enum

实际只支持int类型 Java实际只能支持int类型的switch语句,那其他的类型时如何支持的

a、基本类型byte char short 原因:这些基本数字类型可自动向上转为int, 实际还是用的int。

b、基本类型包装类Byte,Short,Character,Integer 原因:java的自动拆箱机制 可看这些对象自动转为基本类型

c、String 类型 原因:实际switch比较的string.hashCode值,它是一个int类型

d、enum类型 原因 :实际比较的是enum的ordinal值(表示枚举值的顺序),它也是一个int类型 所以也可以说 switch语句只支持int类型


注:该解释来自于牛客题目回答。这里记录下,感谢分享。

相关文章
|
3月前
|
C++
在C++语言中的简单语句类型
在C++语言中的简单语句类型
28 0
|
3月前
|
C++
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
|
2月前
|
存储 SQL 关系型数据库
MySQL存储过程——if判断示例
MySQL存储过程——if判断示例
30 0
|
3月前
|
程序员 Python
if语句的一般形式
if语句的一般形式
31 0
|
3月前
|
SQL 存储 定位技术
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
106 1
|
3月前
|
存储 SQL 关系型数据库
⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
71 0
|
存储 编译器 C语言
if~else语句的执行过程及几个数据与零值比较时的注意事项
if~else语句的执行过程及几个数据与零值比较时的注意事项
|
关系型数据库 MySQL
DDL-数据定义语句
DDL-数据定义语句
|
SQL Oracle 关系型数据库
Oracle数据库sql语句空字段筛选方法,sql语句值为空判断方法
Oracle数据库sql语句空字段筛选方法,sql语句值为空判断方法
631 0
Oracle数据库sql语句空字段筛选方法,sql语句值为空判断方法
|
关系型数据库 MySQL
字符串变量作mysql查询条件
字符串变量作mysql查询条件
119 0