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