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


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

相关文章
|
10月前
|
C++
在C++语言中的简单语句类型
在C++语言中的简单语句类型
55 0
|
5月前
|
SQL 存储 关系型数据库
SQL判断CHAR类型字段不为空的方法与技巧
在SQL查询中,判断一个CHAR类型字段是否不为空是一个常见的需求
|
7月前
|
SQL 关系型数据库 数据处理
|
10月前
|
C++
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
【C++】istream类型对象转换为逻辑条件判断值
|
10月前
|
程序员 Python
if语句的一般形式
if语句的一般形式
81 0
|
10月前
|
SQL 存储 定位技术
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
数据库基础(七):用户自定义数据类型与标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除
165 1
|
10月前
|
SQL Oracle 关系型数据库
sql语句两个字段合并或者两个字段拼接显示
sql语句两个字段合并或者两个字段拼接显示
107 0
|
SQL 数据库 索引
数据库操作语句类型
数据库操作语句类型
123 0
|
存储 编译器 C语言
if~else语句的执行过程及几个数据与零值比较时的注意事项
if~else语句的执行过程及几个数据与零值比较时的注意事项
131 0
|
C语言 Python
判断语句还能这样写
判断语句还能这样写
105 0