为什么我的编译器告诉我:
不兼容的类型:
必需: 布尔值
找到: 整数
在案例 0 和案例 1 下
例如:
public void test(boolean isOn){
switch (isOn){
case 0:
if (isOn){
System.out.println("its on");
}
break;
case 1:
if (!isOn){
System.out.println("its off");
}
break;
default:
System.out.println("I don't know!");
}
}
驱动类:
Club me = new Club();
me.test(true);
原文由 user2708074 发布,翻译遵循 CC BY-SA 4.0 许可协议
您正在打开
boolean
类型,并且您的案例正在使用int
类型。但是,即使您将案例更改为boolean
类型,那也行不通。您无法打开boolean
类型。这没有任何意义,因为使用if-else
会更容易:请注意,这里没有
"I don't know!"
大小写。boolean
类型可以有true
或false
值。这是另一个原因,为什么switch-case
不是boolean
类型。没有默认情况。您还可以使用 条件表达式 将其压缩为单个语句: