Type mismatch: cannot convert from boolean to int
时间: 2024-03-16 08:42:34 浏览: 173
MDK调试时出现MEMORY_MISMATCH错误的原因及解决方法
3星 · 编辑精心推荐
这个错误出现的原因是在某个需要整数类型的地方使用了布尔类型。
比如,在下面的代码中:
```java
int i = true;
```
因为 `true` 是一个布尔类型的值,而 `i` 是整数类型的变量,所以会出现类型不匹配的错误。
解决这个问题的方法是将布尔类型的值转换成整数类型的值。如果要将布尔类型的值转换成整数类型的值,需要使用条件运算符 `? :` 或者 `if-else` 语句。
比如,在下面的代码中:
```java
int i = true ? 1 : 0;
```
这里使用了条件运算符 `? :`,如果条件表达式 `true` 成立,那么返回值为 `1`,否则返回值为 `0`。
如果使用 `if-else` 语句,可以这样写:
```java
int i;
if (true) {
i = 1;
} else {
i = 0;
}
```
这里使用了 `if-else` 语句来判断布尔类型的值,并将其转换成整数类型的值。
阅读全文