java - 在 Java 中使用 "h = Math.min(h, h)"有什么合乎逻辑的理由吗?

标签 java min

我一直在查看一些源代码,以更好地了解我们使用的这款游戏的核心,并编写更可靠、更快速的插件。然后我发现了这段奇怪的代码......

public void setMaxH(double amount) {
    super.setMaxH(amount);
    this.h = Math.min(this.h, this.h);
    ...
}

我无法理解最后一行存在于代码中的任何原因,使用 Math.min,将结果分配给 min 的两个参数中使用的相同变量...它有什么作用吗?

最佳答案

public static double min(double a, double b): “返回两个 double 值中较小的一个。也就是说,结果是更接近负无穷大的值。如果参数具有相同的值,则结果为相同的值。如果任一值为 NaN,则结果为 NaN。与数值比较运算符不同,此方法认为负零严格小于正零。如果一个参数为正零,另一个为负零,则结果为负零。”

然后,可能是代码重构的错误。仔细检查函数并尝试理解程序员的意图是否可能是:

this.h = Math.min(this.h, amount);

将是唯一明智的事情。

关于java - 在 Java 中使用 "h = Math.min(h, h)"有什么合乎逻辑的理由吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28238435/

相关文章:

vb.net - 找到最小值。 vb.net 中列表中的值

java - Java中包的高阶技能

java - Android-webview 不显示网站

java - 如何使用selenium选择自定义下拉列表元素

sql - Postgres - 找到数组的最小值

mysql - SQL列计算最小值

java - 如何找到链表的最大/最小元素

Java - 基于第一列组织二维数组的问题

java - 如何将我的表单与操作链接起来?

如果一列没有值,MySQL 返回最大值或 null