符号‘’是什么?和':‘在返回语句中的意思?
public boolean isItBigger(BigInteger num1, Long num2) {
return num1 == BigInteger.ONE || num2.intValue() > 0 ? true : false;
}另外,我想我在if语句中见过它们。
发布于 2013-04-04 02:05:43
使用?和:是Java的ternary conditional operator (JLS15.25)。表达式的结果
aBoolean ? expr1 : expr2如果aBoolean为true,则为expr1,否则为expr2。
在这种情况下,它可以被省略,因为它是不必要的:
return num1 == BigInteger.ONE || num2.intValue() > 0;发布于 2013-04-04 02:06:02
这是个ternary operator。以下内容是等效的
if (x == y)
x = 2;
else
x = 3;和
x = (x == y) ? 2 : 3;不过,您的示例代码很愚蠢。首先,他们检查表达式的值是否为true。然后,如果是这样,它们将返回true。它们也可以返回表达式本身的结果,如下所示:
return num1 == BigInteger.ONE || num2.intValue() > 0;发布于 2013-04-04 02:06:13
这称为条件/三元运算符
boolean-expression ? do-this-if-true : else-do-this它的缩写是
if (boolean-expression) {
do-this
} else{
do-this
}https://stackoverflow.com/questions/15794694
复制相似问题