我有表情:
Double getAbs(Double value){
return value> 0 ? value: value== 0 ? null : -value;
}
或更好:
Double getAbs(Double value){
return Math.abs(value);
}
我知道 NaN 存在一些差异。但是方法 Math.abs(double) - 所以我们拆箱了。 在什么情况下性能更好?
最佳答案
代码中唯一的“性能”是 JVM 需要将您的 Double
拆箱为 double
。
Math.abs(double)
使用三元 if 语句,如下所示:
public static double abs(double a) {
return (a <= 0.0D) ? 0.0D - a : a;
}
因此,您的 if
语句根本不用担心性能问题。
关于java - "Math.abs()"的性能是否优于 "if"的表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7751060/