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类型


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

相关文章
|
1月前
|
SQL 存储 关系型数据库
SQL判断CHAR类型字段不为空的方法与技巧
在SQL查询中,判断一个CHAR类型字段是否不为空是一个常见的需求
|
3月前
|
SQL 关系型数据库 数据处理
|
6月前
|
C++
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
|
6月前
|
程序员 Python
if语句的一般形式
if语句的一般形式
63 0
|
6月前
|
SQL 存储 定位技术
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
125 1
|
6月前
|
SQL Oracle 关系型数据库
sql语句两个字段合并或者两个字段拼接显示
sql语句两个字段合并或者两个字段拼接显示
|
6月前
|
存储 SQL 关系型数据库
⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..
92 0
|
SQL 关系型数据库 MySQL
可以使用SQL语句来声明变量、设置自变量以及根据计算结果赋值
可以使用SQL语句来声明变量、设置自变量以及根据计算结果赋值
129 3
|
存储 编译器 C语言
if~else语句的执行过程及几个数据与零值比较时的注意事项
if~else语句的执行过程及几个数据与零值比较时的注意事项
108 0
|
SQL Oracle 关系型数据库
Sql 语句空字符串和NUll值的区别及使用技巧
Sql 语句空字符串和NUll值的区别及使用技巧
802 0
Sql 语句空字符串和NUll值的区别及使用技巧