我可以将测试结果分配给Java中的布尔变量吗?

时间:2010-05-25 16:06:40

标签: java syntax boolean

当我写boolean bool = aString.indexOf(subString) != -1 Eclipse没有抱怨时,它是否意味着它与boolean bool = aString.indexOf(subString) != -1 ? true : false相同?

3 个答案:

答案 0 :(得分:9)

是。比较产生一个布尔值,它可以像任何其他值一样分配给变量。

第二种形式(使用三元?:运算符)是多余的,不应使用。

在风格上,我通常在将值分配给括号时将括号括在括号中,如

boolean bool = (aString.indexOf(subString) != -1);

为了使用=符号在两个运算符之间进行强烈的视觉区分,但这不是必需的。

答案 1 :(得分:1)

是的,两种语法都是等价的。

只需使用括号清晰或更易读。

boolean bool = (aString.indexOf(subString) != -1);

答案 2 :(得分:1)

当然可以。布尔表达式返回一个布尔值。这就是为什么它可以在if语句等中使用,因为它们期望truefalse结果。