Java中的DoubleUnaryOperator接口
DoubleUnaryOperator 接口是Java .util 的一部分。从Java 8 开始引入的函数包,用于在Java中实现函数式编程。它表示一个函数,该函数接受一个参数并对其进行操作。它的参数和返回类型都是双精度数据类型。这与使用 UnaryOperator
分配给 DoubleUnaryOperator 类型对象的 lambda 表达式用于定义其applyAsDouble() ,最终将给定操作应用于其参数。
DoubleUnaryOperator 接口中的函数
DoubleUnaryOperator 接口由以下函数组成:
1. 身份()
此方法返回一个 DoubleUnaryOperator,它接受一个双精度值并返回它。返回的 DoubleUnaryOperator 不对它的唯一值执行任何操作。
句法:
static DoubleUnaryOperator identity()
参数:该方法不带任何参数
返回:一个 DoubleUnaryOperator,它接受一个值并返回它。
下面是说明 identity() 方法的代码:
程序
import java.util.function.DoubleUnaryOperator;
public class GFG {
public static void main(String args[])
{
DoubleUnaryOperator
op
= DoubleUnaryOperator.identity();
System.out.println(op.applyAsDouble(12.0));
}
}
12.0
2.applyAsDouble()
此方法接受一个双精度值,执行给定的操作并返回一个双精度值结果。
句法:
double applyAsDouble(double operand)
参数:该方法接受一个双值参数
Returns: : 它返回一个双值结果。
下面是说明 applyAsDouble() 方法的代码:
程序
import java.util.function.DoubleUnaryOperator;
public class GFG {
public static void main(String args[])
{
DoubleUnaryOperator op = a -> 2 * a;
System.out.println(op.applyAsDouble(12.0));
}
}
24.0
3.addThen()
它返回一个组合的 DoubleUnaryOperator,其中参数化运算符将在第一个运算符之后执行。如果任一操作引发错误,则会将其转发给组合操作的调用者。
句法:
default DoubleUnaryOperator andThen(DoubleUnaryOperator after)
参数:此方法接受一个参数,在该参数之后是要在当前参数之后应用的操作。
返回值:此方法返回一个组合的 DoubleUnaryOperator ,它首先应用当前操作,然后应用 after 操作。
异常:如果 after 操作为 null,则此方法抛出NullPointerException 。
下面是说明 addThen() 方法的代码:
方案一:
import java.util.function.DoubleUnaryOperator;
public class GFG {
public static void main(String args[])
{
DoubleUnaryOperator op = a -> 2 * a;
op = op.andThen(a -> 3 * a);
System.out.println(op.applyAsDouble(12.0));
}
}
72.0
程序2:演示何时返回NullPointerException。
import java.util.function.DoubleUnaryOperator;
public class GFG {
public static void main(String args[])
{
try {
DoubleUnaryOperator op = a -> 2 * a;
op = op.andThen(null);
System.out.println(op.applyAsDouble(12.0));
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
Exception: java.lang.NullPointerException
4. 组合()
它返回一个组合的 DoubleUnaryOperator,其中参数化操作将首先执行,然后是第一个。如果任一操作引发错误,则会将其转发给组合操作的调用者。
句法:
default DoubleUnaryOperator compose(DoubleUnaryOperator before)
参数:此方法接受一个参数,在该参数之前是要应用的操作,然后是当前操作
返回值:此方法返回一个组合的 DoubleUnaryOperator,它在参数化运算符之后应用当前运算符运算符
异常:如果之前的操作为空,此方法将抛出NullPointerException 。
下面是说明 compose() 方法的代码:
方案一:
import java.util.function.DoubleUnaryOperator;
public class GFG {
public static void main(String args[])
{
DoubleUnaryOperator op = a -> a / 3;
op = op.compose(a -> a * 6);
System.out.println(op.applyAsDouble(12.0));
}
}
24.0
程序2:演示何时返回NullPointerException。
import java.util.function.DoubleUnaryOperator;
public class GFG {
public static void main(String args[])
{
try {
DoubleUnaryOperator op = a -> a / 3;
op = op.compose(null);
System.out.println(op.applyAsDouble(12.0));
}
catch (Exception e) {
System.out.println("Exception: " + e);
}
}
}
Exception: java.lang.NullPointerException