当我写boolean bool = aString.indexOf(subString) != -1
Eclipse没有抱怨时,它是否意味着它与boolean bool = aString.indexOf(subString) != -1 ? true : false
相同?
答案 0 :(得分:9)
是。比较产生一个布尔值,它可以像任何其他值一样分配给变量。
第二种形式(使用三元?:
运算符)是多余的,不应使用。
在风格上,我通常在将值分配给括号时将括号括在括号中,如
boolean bool = (aString.indexOf(subString) != -1);
为了使用=
符号在两个运算符之间进行强烈的视觉区分,但这不是必需的。
答案 1 :(得分:1)
是的,两种语法都是等价的。
只需使用括号清晰或更易读。
boolean bool = (aString.indexOf(subString) != -1);
答案 2 :(得分:1)
当然可以。布尔表达式返回一个布尔值。这就是为什么它可以在if
语句等中使用,因为它们期望true
或false
结果。