switch(condition)报错Incompatible types. Found: 'boolean', required: 'char, byte, short, int, Character, Byte, Short, Integer, String, or an enum'
时间: 2024-04-22 18:26:18 浏览: 295
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ….. this is incompatible with sq
抱歉,我之前的回答有误导。在 Java 中,`switch` 语句的条件只能是以下类型之一:`char`、`byte`、`short`、`int`、`Character`、`Byte`、`Short`、`Integer`、`String` 或枚举类型。而布尔类型 `boolean` 不是有效的 `switch` 条件。
在你的代码中,你使用了 `condition` 变量作为 `switch` 语句的条件,而该变量的类型是 `boolean`,导致编译器报错。
为了解决这个问题,你可以改用 `if-else` 语句来判断条件,而不是使用 `switch` 语句。请参考以下修改后的代码:
```java
while (true) {
condition = mGpsGalileoBdsGlonassQzssConstellation2.cacheGnssMobileUsefulArrayList.get(mGpsGalileoBdsGlonassQzssConstellation2.cacheGnssMobileUsefulArrayList.getSize() - 1) != null;
if (!condition) {
posLib.pauseThread(); // 当数据 A 为空时,暂停线程的执行
} else {
posLib.resumeThread(); // 当数据 A 不为空时,恢复线程的执行
}
}
```
在这个修改后的代码中,我们使用了 `if-else` 语句来根据条件的真假分别执行暂停和恢复线程的操作。
非常抱歉给你带来困惑!如果还有其他问题,请随时提问。
阅读全文