在Java中使用“h=Math.min(h,h)”有什么逻辑原因吗?
我一直在看一些源代码,以便更好地理解我们使用的这个游戏的核心,并编写更可靠、更快的插件。然后我发现了这段奇怪的代码
public void setMaxH(double amount) {
super.setMaxH(amount);
this.h = Math.min(this.h, this.h);
...
}
我无法用数学来理解代码中存在这最后一行的任何原因。min,将结果分配给两个参数中使用的同一个变量,以使min。。。它有什么用吗
# 1 楼答案
public static double min(double a, double b)
:“返回两个双精度值中较小的一个。也就是说,结果是接近负无穷大的值。如果参数具有相同的值,则结果是相同的值。。如果任一值为NaN,则结果为NaN。与数值比较运算符不同,此方法认为负零严格小于pos绝对零。如果一个参数为正零,另一个参数为负零,则结果为负零。“然后,可能是代码重构中的错误。仔细检查函数,并尝试理解程序员的意图是否可能是:
这是唯一明智的选择