0

尝试编译时出现此错误。

不可比较的类型:boolean 和 int

result= (result) && (found_list[i] !=0);

为什么我会收到此错误?我如何解决它??

4

4 回答 4

2

与 c、c++ 和许多其他语言不同,0&在 java1 中不是 false& 。true

这是一个常见的错误。此外,检查类似的东西boolean != false与检查是否为真是完全相同的boolean。IE

if(b != false)

if(b)

所以,你可以做

result = result && found_list[i];
于 2012-09-21T04:43:49.567 回答
2

您正在尝试将found_list[i]boolean0类型与 int类型进行比较

然后改变

result= (result) && (found_list[i] !=0); 

result= (result) && (found_list[i]); 
于 2012-09-21T04:37:31.883 回答
2

由于 found_list[] 是一个布尔数组,因此不能与 int 值进行比较。(found_list[i] !=0)是错的。

这样做的方法是:

result= (result) && (found_list[i]);
于 2012-09-21T04:37:49.453 回答
0

Boolean 仅将 True 或 False 作为值,与其他数据类型(如 int、long、double、short 等)不同...

因此,如果结果是布尔值,则存储在其中的值也应该是布尔值,即 True 或 False。

result= (result) && (found_list[i] !=0); 

这里(结果)是 True 或 False。如果你刚刚初始化它并离开就像

布尔结果;

那么这里的值为假。否则,如果您在此之前的某个地方对其进行了修改,它将是相应的值。

现在 (found_list[i] !=0); 是一种错误的编码方式。如果 found_list[] 是布尔值,则不能将其与 int 值(在本例中为 0)进行比较。

您或在这里尝试做的是 true/false!=0,这是无法比较的。

因此,您收到此错误。您可以改为将其更改为

result= ((result) && (found_list[i]))
于 2012-09-21T04:49:49.643 回答