我正在学习Java,它来自C语言,并且发现该boolean
类型的语言之间有一个有趣的区别。在C语言中没有bool
/,ean
因此我们需要使用数字类型来表示布尔逻辑(0 == false
)。
我猜在Java中不起作用:
int i = 1;
if (i)
System.out.println("i is true");
也不会通过类型转换更改条件:
if ((boolean)i)
因此,除了要做类似的事情:
if ( i != 0 )
还有其他方法可以对int
类型进行C-ish逻辑检查吗?只是想知道是否有任何Java技巧可以在这样的非布尔类型上使用布尔逻辑。
编辑:
上面的示例非常简单,并且使自己陷入狭窄的思维范围。当我最初问这个问题时,我也在考虑函数调用的非布尔返回。例如Linux
fork()
调用。它本身不返回任何int
值,但是我可以很好地使用数字返回值作为条件,例如:
if( fork() ) {
// do child code
这样,我就可以在有条件的情况下为孩子处理代码,而不必为父母处理(或者在错误返回结果为负的情况下)。
因此,我目前对Java的了解不多,无法给出一个很好的“ Java”示例,但这是我的初衷。
在Java中,
if ( i != 0 )
是检查是否整数惯用的方式i
不同于zero
。
如果i
用作标志,则它应该是type boolean
而不是type int
。
我有一个非常简单的界面类型如下 在我的单元测试中,我想检查从API调用返回的对象是否属于这种类型,但我不知道该怎么做。我的API调用如下: 但是,行
在我的代码中,我一直得到这样的错误:操作符!=对于参数类型boolean和int是未定义的,我不知道该怎么做来修复它。该错误出现在eclipse内部以及启动时 如有帮助,我们将不胜感激:)谢谢!
Boolean 类型是 ECMAScript 中使用得最多的一种类型,该类型只有两个字面值: true 和 false。这两个值与数字值不是一回事,因此 true 不一定等于 1,而 false 也不一定等于 0。以下是为变量赋Boolean 类型值的例子: var found = true; var lost = false; 需要注意的是,Boolean 类型的字面值 true 和 false
描述 (Description) 此方法有两个变体,可用于测试两个字符串区域是否相等。 语法 (Syntax) 以下是此方法的语法 - public boolean regionMatches(boolean ignoreCase, int toffset, String other
我遇到错误“类型不兼容:boolean不能转换为int”
您好,我正试图通过基于日期查询“where”来创建一个RESTAPI。我连接postgresql。 我有一个这样的实体 @Entity@Table(name="设备")公共类DeviceEntity{ 这是我的疑问: @存储库公共接口设备存储库扩展了分页和排序存储库{ 运行和测试url后,我得到错误"类型int的坏值:8962101012749336481"