当前位置: 首页 > 面试题库 >

检查“ int”类型的“ boolean”结果

骆英纵
2023-03-14
问题内容

我正在学习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"