首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
下列不能做switch()的参数类型是?
[单选题]
在java7中,下列不能做switch()的参数类型是?
int型
枚举类型
字符串
浮点型
添加笔记
邀请回答
收藏(5304)
分享
96个回答
添加回答
288
推荐
MyGoodHelper
D
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。
String类型是java7开始支持。
编辑于 2015-01-12 10:27:46
回复(30)
172
大河儿马
switch支持 int及以下(char, short, byte),String, Enum
发表于 2015-11-13 10:53:48
回复(8)
84
yayamma
在switch(expr1)中,expr1只能是一个
整数表达式或者枚举常量(更大字体)
,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long、float、double类型不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。
注意:String类型是Java7开始支持的。
发表于 2015-08-11 08:59:48
回复(3)
32
luckystar92
本人eclipse测试过,switch支持:①支持小于等于int的类型譬如(byte,short,char,int),不支持八大基础数据类型中的boolean,long,float,double②支持枚举类型③支持String类型(java7开始支持)
发表于 2017-08-14 21:15:38
回复(0)
29
程序员鱼皮
switch支持byte、short、char、int、String(jdk1.7)、Enum
发表于 2018-09-02 08:33:20
回复(2)
11
惠鸿飞
在JDK1.5之前,switch循环只支持byte short char int四种数据类型.
JDK1.5 在switch循环中增加了枚举类与byte short char int的包装类,对四个包装类的支持是因为java编译器在底层手动进行拆箱,而对枚举类的支持是因为枚举类有一个ordinal方法,该方法实际上是一个int类型的数值.
jdk1.7开始支持String类型,但实际上String类型有一个hashCode算法,结果也是int类型.而byte short char类型可以在不损失精度的情况下向上转型成int类型.所以总的来说,可以认为switch中只支持int.
发表于 2019-11-13 21:06:46
回复(0)
10
Imabra
除了整型,枚举类型,字符型,其他的都不行。譬如:字符串,浮点型这些都不可以作为switch的参数类型。
发表于 2014-10-25 00:25:58
回复(1)
6
惟愿无事
C是可以的 从Java7开始 switch可以是string类型
发表于 2015-05-11 19:03:53
回复(2)
5
zhisheng_blog
jdk1.7 以后含1.7 ,有 int byte char short及其包装类型 和 enum类型, String类型是在 1.7 新增的
发表于 2017-06-06 23:33:21
回复(0)
3
魔王blog
说个拓展小知识,switch实际上只支持整型,string在switch底层其实是调用了hashcode方法来获得整型来判断的,enum是调用是序号方法获得的整型,所以如果传一个null字符串进switch会报空指针异常
发表于 2021-10-06 16:00:56
回复(0)
3
丿Rose丨灬飞龙
答案:D switch支持的数据类型有byte,short,int,char,枚举,在JDK1.7支持String类型。 这里的整型很容易让我们误以为包括字节(byte),短整型(short),整型(int),长整型(long)。这里指的是整型int。
发表于 2017-08-28 15:12:43
回复(1)
3
REDStone
表达式可以是整型、字符型以及枚举类型等表达式敏感词的都不行
发表于 2014-11-02 15:16:01
回复(0)
2
钟岚
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。
发表于 2021-09-30 12:32:51
回复(1)
2
Keosc
Java5 以前 switch(expr)中,expr 只能是 byte、short、char、int。
从 Java 5 开始,Java 中引入了枚举类型, expr 也可以是 enum 类型。
从 Java 7 开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。
发表于 2021-06-30 21:05:17
回复(0)
2
牛客626722717号
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持。
发表于 2021-06-01 15:36:48
回复(0)
2
牛客188406456号
到底支持long 否?
发表于 2020-12-17 09:01:28
回复(1)
2
牛客1785762009号
switch() 括号里面的参数,在jdk1.5之前只支持char,int,short,byte,1.5之后增加了枚举类型和byte,short,char,int这些的包装类,1.7之后支持String类型,因为String类型有一个hashcode算法,也是int类型,所以总的来说,可以认为switch只支持int类型数据
发表于 2020-11-28 11:33:03
回复(0)
2
ideolo
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。
String类型是java7开始支持。
发表于 2019-04-09 19:50:24
回复(0)
2
Rogerofit
switch支持:①支持小于等于int的类型譬如(byte,short,char,int),不支持八大基础数据类型中的boolean,long,float,double②支持枚举类型③支持String类型(java7开始支持)
发表于 2019-03-13 18:32:02
回复(0)
2
宋佑廉
switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。而在java7的时候,也支持String类型
发表于 2018-10-26 20:34:50
回复(0)
2
Tianwu
我想说的是支持字符字面值,不是简单说String
发表于 2017-05-05 14:21:02
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
Java
腾讯
上传者:
小海豹
难度:
96条回答
5304收藏
40771浏览
热门推荐
相关试题
假定一个待哈希存储的线性表为(32...
哈希
评论
(1)
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
你有没有崇拜的偶像,你欣赏他/她身...
通用能力
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题