不兼容的数据类型:boolean和int

时间:2012-09-21 04:33:18

标签: java

我尝试编译时遇到此错误。

imcomparible types:boolean和int

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

为什么会出现此错误?我该如何解决?

4 个答案:

答案 0 :(得分:2)

您正在尝试将类型为boolean的found_list[i]与类型为int的0进行比较

然后改变

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

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

答案 1 :(得分:2)

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

这样做的方法是:

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

答案 2 :(得分:2)

与c,c ++等语言不同,0& 1 不是 false& java中的true

这是一个常见的错误。此外,检查boolean != false之类的内容与检查boolean是否为真完全相同。即。

if(b != false)

相同
if(b)

所以,你可以做到

result = result && found_list[i];

答案 3 :(得分:0)

Boolean只接受True的False作为值,而不像其他数据类型,如int,long,double,short等......

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

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

这里(结果)是True of False 。如果你刚刚初始化它并且像

一样离开

布尔结果;

然后这里的值为false。如果你在此之前的某处修改了它,那么它将是相应的值。

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

你或者想要做的是 true / false!= 0无法比较。

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

result= ((result) && (found_list[i]))