尝试编译时出现此错误。
不可比较的类型:boolean 和 int
result= (result) && (found_list[i] !=0);
为什么我会收到此错误?我如何解决它??
尝试编译时出现此错误。
不可比较的类型:boolean 和 int
result= (result) && (found_list[i] !=0);
为什么我会收到此错误?我如何解决它??
与 c、c++ 和许多其他语言不同,0
&在 java1
中不是 false
& 。true
这是一个常见的错误。此外,检查类似的东西boolean != false
与检查是否为真是完全相同的boolean
。IE
if(b != false)
和
if(b)
所以,你可以做
result = result && found_list[i];
您正在尝试将found_list[i]
boolean0
类型与 int类型进行比较
然后改变
result= (result) && (found_list[i] !=0);
至
result= (result) && (found_list[i]);
由于 found_list[] 是一个布尔数组,因此不能与 int 值进行比较。(found_list[i] !=0)
是错的。
这样做的方法是:
result= (result) && (found_list[i]);
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]))