Switch的参数类型

昨天面试问了一个java的基础问题:switch中参数类型可以有哪些?

平时虽然有用过,但真没怎么注意switch中参数的类型。然后就随便蒙了一个答案,答对了。今天就对switch分析一下。在jdk1.7版本以前,参数类型只能是short、byte、int、char可正常运行。而例如String,Long、Integer、double、float等则会报错

而jdk1.7版本以后,参数类型除了之前可使用的外,String、Integer类、 Character类、枚举类型都可以正常运行。而Long、double、float依旧会报错。

public class SwitchTest {
	public static void main(String[] args) {
		String str = "abcd";
		/*
		 * 可执行不报错
		 * Integer in = 12; int ii = 12; short sh = (short)12; char ch = 'c';
		 * byte by =(byte)12;
		 */
		/*
		 * 会报错
		 *  double dou = 0.12; long lo = 123L;float fl = 0.12f;
		 */
		switch (str) {
		case "abcd":
			System.out.println("String正确");
			break;
		case "idfd":
			System.out.println("idfd正确");
			break;
		default:
			System.out.println("错误");
			break;
		}

	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值