Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与常数的双值比较_Java - Fatal编程技术网

Java 与常数的双值比较

Java 与常数的双值比较,java,Java,数学包中有一个double signum(double d)函数,如果参数为零,则返回零;如果参数大于零,则返回1.0;如果参数小于零,则返回1.0 将结果值与==进行比较安全吗?还是应该使用其他方法 例如: if(Math.signum(someDouble) == 1.0) { do something } 是的,根据文档中提供的该功能规范,它是“安全的”。但是,如果您只需要测试signum,为什么不直接执行someDouble>0?。Math.signum在这里没有用,它对一些公

数学包中有一个
double signum(double d)
函数,如果参数为零,则返回零;如果参数大于零,则返回1.0;如果参数小于零,则返回1.0

将结果值与
==
进行比较安全吗?还是应该使用其他方法

例如:

if(Math.signum(someDouble) == 1.0) {
    do something
}

是的,根据文档中提供的该功能规范,它是“安全的”。但是,如果您只需要测试signum,为什么不直接执行
someDouble>0
?。Math.signum在这里没有用,它对一些公式很有用,但在那里它是没有必要的。

你认为它可能不安全的具体原因是什么?我已经读到不应该将double与just=,但在本例中,我比较了函数返回的结果值,该函数具有用于表示结果值的常数。假设
==
符号中的
比较是安全的,同样安全。