int作为布尔表达式Eclipse-Java

xco*_*rat 1 java eclipse boolean-expression

为什么Eclipse告诉我

int a = 4;
if (a) {
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

是错的,还是Cannot convert from integer to boolean

我习惯于在C,C++中编写类似的东西,并认为Java也可以.这是Eclipse的工作原理吗?或者Java是如何工作的?有没有解决方法?

SLa*_*aks 9

与C++不同,Java从一开始就有一个内置的布尔类型.
因此,它不需要使用整数作为布尔值.

if (x = 4)在大多数情况下,禁止将整数隐式转换为布尔值可以防止臭名昭着的错误.

  • 你仍然可以在一行中输入less/do两件事,你必须使用正确的语法:`if((x = b)!= 0)` (2认同)