首页 文章资讯内容详情

在Java中如何使用lambda和方法引用实现DoubleUnaryOperator?

2026-06-04 1 花语

DoubleUnaryOperator是在java.util.function包中定义的函数接口。这个函数接口需要一个double类型的参数作为输入,但是产生相同类型的输出。DoubleUnaryOperator接口可用作lambda表达式和方法引用的赋值目标。这个接口包含一个抽象方法:applyAsDouble()、一个静态方法:identity()和两个缺省方法:andThen()和compose()。

语法

@FunctionalInterface public interface DoubleUnaryOperator { double applyAsDouble(double operand); }

Lambda表达式示例

import java.util.function.DoubleUnaryOperator; public class DoubleUnaryOperatorTest1 { public static void main(String[] args) { DoubleUnaryOperator getDoubleValue = doubleValue -> { // lambda 表达式 return doubleValue * 2; }; double input = 20.5; double result = getDoubleValue.applyAsDouble(input); System.out.println("输入值 " + input + " X 2 为: " + result); input = 77.50; System.out.println("输入值 " + input+ " X 2 为: " + getDoubleValue.applyAsDouble(input)); input = 95.65; System.out.println("输入值 "+ input+ " X 2 为: " + getDoubleValue.applyAsDouble(input)); } }

输出结果

输入值 20.5 X 2 为: 41.0 输入值 77.5 X 2 为: 155.0 输入值 95.65 X 2 为: 191.3

方法引用示例

import java.util.function.DoubleUnaryOperator; public class DoubleUnaryOperatorTest2 { public static void main(String[] args) { DoubleUnaryOperator d = Math::cos; //方法引用 System.out.println("值为: " + d.applyAsDouble(45)); DoubleUnaryOperator log = Math::log10; //方法引用 System.out.println("值为: " + log.applyAsDouble(100)); } }

输出结果

值为: 0.5253219888177297 值为: 2.0

.