Java 中 DoubleFunction 接口及示例

2025 年 1 月 6 日 | 阅读 2 分钟

java.util.function 包是在 Java 8 中引入的,它包含了 DoubleFunction 接口,该接口用于支持 Java 中的函数式编程。它表示一个函数,该函数在接收一个双精度值输入后,会生成一个 R 类型的结果。

此函数式接口只接受一个泛型,即

R:表示此函数的输出类型。

DoubleFunction 类型的 lambda 表达式对象用于创建其 apply() 函数,该函数最终将指定的运算应用于其单个输入。这类似于使用 Function<Double, R> 类型的对象。DoubleFunction 接口的单个函数是 apply()。此方法返回 R 类型的结果,并接受一个双精度值参数作为输入。

语法

参数:此方法接受的单个参数值是一个双精度值参数。

返回值:R 类型的值是此方法的返回结果。

示例 1

此程序使用 lambda 表达式定义了一个 DoubleFunction,它接受一个双精度输入并返回其平方。这个平方计算包含在 lambda 表达式 (double value) -> value * value 中。接下来,使用 DoubleFunction 的 apply 方法将此函数应用于给定的值;在本例中,输入值为 4.0。对 4.0 进行平方后,结果被存储在变量 res 中并打印出来。

实施

文件名:SquareFunctionExample1.java

输出

The Square of the given value is 16.0

示例 2

下面的程序演示了如何使用 DoubleFunction 接口将双精度值转换为字符串表示形式。一个将双精度输入转换为带有类似“The Double value is given by:”的消息的字符串的 DoubleFunction,被称为 lambda 表达式。然后使用此函数的 apply 方法将精确的双精度数字 5.24 转换为其字符串形式。结果打印为字符串“The Double value is given by: 5.24”。

实施

文件名:DoubleToStringConversionExample2.java

输出

The Double value is given by : 5.24