不能做 switch( ) 的参数类型是
时间: 2023-05-25 13:03:22 浏览: 79
以下两种情况不能作为 switch() 的参数类型:
1. 字符串类型(String): switch() 的参数类型必须是原始数据类型或枚举类型,而字符串类型不是这两种类型之一。
2. 浮点数类型(float、double): switch() 中的参数类型必须是整数类型或字符类型,而浮点数类型不满足这两种类型之一。
相关问题
switch参数类型
switch()的参数类型可以是:int,byte,short,String,char,enum。 在使用switch()时,一般括号内的参数都是int类型的,但是也可以是其他类型,因为Java会自动进行类型转换。例如,short或byte类型会自动转换成int类型。 另外,如果想将long类型转换成int类型作为switch()的参数,可以使用强制类型转换,编译和运行都会成功。 所以总结起来,除了int、byte、short之外,还可以使用String、char、enum和强制类型转换的long作为switch()的参数类型。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
强枚举类型不能使用switch吗
强枚举类型是可以使用switch语句的。在C++11及以上版本中,可以使用enum class定义强枚举类型,这种类型的枚举值是具有作用域的,因此可以避免命名冲突。在使用switch语句时,需要将强枚举类型的枚举值用作case关键字的参数,如下所示:
```
enum class Color { RED, GREEN, BLUE };
Color color = Color::RED;
switch (color) {
case Color::RED:
// 处理红色
break;
case Color::GREEN:
// 处理绿色
break;
case Color::BLUE:
// 处理蓝色
break;
}
```
需要注意的是,如果使用普通的枚举类型,枚举值是没有作用域的,因此可能会导致命名冲突和错误的结果。