JDK 中是否有减去双精度的方法参考?
Is there a method reference in JDK for subtracting doubles?
Double::sum
是添加双打的方法参考,即。 (a,b) -> a+b
.
为什么JDK中没有minus的方法参考? IE。 (a,b) -> a-b
?
没有内置方法。但我不认为,它除了简单地做
double result = a-b;
看来你想多了:)
使用java.math.BigDecimal
因此没有用于减去双打的内置方法。但是,如果您使用 BigDecimal 来存储小数,那么您可以试试这个:
BigDecimal a = new BigDecimal("10.6");
BigDecimal b = new BigDecimal("4.3");
BigDecimal result = a.subtract(b);
System.out.println(result);
否则你可以使用减去两个数字的简单方法,即 a-b。另请注意,在 Java 中,double 值是 IEEE floating point numbers
Double.sum
等方法的主要目的是帮助减少或 Arrays.parallelPrefix
等用例,因为减号不是关联函数,因此不适合此用例。
不建议为了这种简单的方法而添加 3rd 方库依赖项。请记住,如果您更喜欢命名方法而不是 lambda 表达式,您始终可以创建自己的方法。
例如
static double minus(double a, double b) {
return a-b;
}
并且使用 MyClass::minus
与 ThirdPartyClass::minus
一样有用……
Double::sum
是添加双打的方法参考,即。 (a,b) -> a+b
.
为什么JDK中没有minus的方法参考? IE。 (a,b) -> a-b
?
没有内置方法。但我不认为,它除了简单地做
double result = a-b;
看来你想多了:)
使用java.math.BigDecimal
因此没有用于减去双打的内置方法。但是,如果您使用 BigDecimal 来存储小数,那么您可以试试这个:
BigDecimal a = new BigDecimal("10.6");
BigDecimal b = new BigDecimal("4.3");
BigDecimal result = a.subtract(b);
System.out.println(result);
否则你可以使用减去两个数字的简单方法,即 a-b。另请注意,在 Java 中,double 值是 IEEE floating point numbers
Double.sum
等方法的主要目的是帮助减少或 Arrays.parallelPrefix
等用例,因为减号不是关联函数,因此不适合此用例。
不建议为了这种简单的方法而添加 3rd 方库依赖项。请记住,如果您更喜欢命名方法而不是 lambda 表达式,您始终可以创建自己的方法。
例如
static double minus(double a, double b) {
return a-b;
}
并且使用 MyClass::minus
与 ThirdPartyClass::minus
一样有用……