获得最小数量的最佳方式是什么,哪种方式提高了性能,或者两者都与性能相同?
获得两个数字之间最小距离的一种方法:
double minDistance = Double.MAX_VALUE;
double distance = coordinate1.distnaceTo(coordinate2);
if(distnace < minDistance ) {
minDistance = distance;
}
Run Code Online (Sandbox Code Playgroud)
获得两个数字之间最小距离的另一种方法:
double minDistance = Double.MAX_VALUE;
double minDistance = Math.min(coordinate1.distnaceTo(coordinate2), minDistance);
Run Code Online (Sandbox Code Playgroud)
如果您正在处理正数,不等于NaN,-0.0或0.0,那么应该没有太大区别。
以下来自Math.minJava 8 中的源代码突出显示了以下差异:
如果任一值为 NaN,则结果为 NaN。与数值比较运算符不同,此方法认为负零严格小于正零。如果一个参数为正零,另一个为负零,则结果为负零。
因此,由于它检查和vs ,效率Math.min可能会稍低一些,但可以说它更具可读性 - 您需要首先考虑特殊情况是否适用,然后再考虑可读性与(如此微小的)性能差异之后。NaN-0.00.0
我个人会使用Math.min,但这是我自己的意见。
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |