DoubleUnaryOperator Interface in Java

18 Nov, 2019
The DoubleUnaryOperator Interface is a part of the java.util.function package which has been introduced since Java 8, to implement functional programming in Java. It represents a function which takes in one argument and operates on it. Both its argument and return type are of double data type.It is very similar to using an object of type UnaryOperator<Double>.
The lambda expression assigned to an object of DoubleUnaryOperator type is used to define its applyAsDouble() which eventually applies the given operation on its argument.
The DoubleUnaryOperator interface consists of the following functions:
This method returns a DoubleUnaryOperator which takes in one double value and returns it. The returned DoubleUnaryOperator does not perform any operation on its only value.
Syntax:
static  DoubleUnaryOperator identity()
Parameters: This method does not take in any parameter
Returns: A DoubleUnaryOperator which takes in one value and returns it.
Below is the code to illustrate identity() method:
Program
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

This method takes in one double value, performs the given operation and returns a double-valued result.
Syntax:
double applyAsDouble(double operand)
Parameters: This method takes in one double valued parameter
Returns:: It returns a double valued result.
Below is the code to illustrate applyAsDouble() method:
Program
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

It returns a composed DoubleUnaryOperator wherein the parameterized operator will be executed after the first one. If either operation throws an error, it is relayed to the caller of the composed operation.
Syntax:
default DoubleUnaryOperator andThen(DoubleUnaryOperator after)
Parameters: This method accepts a parameter after which is the operation to be applied after the current one.
Return Value: This method returns a composed DoubleUnaryOperator that applies the current operation first and then the after operation.
Exception: This method throws NullPointerException if the after operation is null.
Below is the code to illustrate addThen() method:
Program 1:
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

Program 2: To demonstrate when NullPointerException is returned.
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

It returns a composed DoubleUnaryOperator wherein the parameterized operation will be executed first and then the first one. If either operation throws an error, it is relayed to the caller of the composed operation.
Syntax:
default DoubleUnaryOperator compose(DoubleUnaryOperator before)
Parameters: This method accepts a parameter before which is the operation to be applied first and then the current one
Return Value: This method returns a composed DoubleUnaryOperator that applies the current operator after the parameterized operator
Exception: This method throws NullPointerException if the before operation is null.
Below is the code to illustrate compose() method:
Program 1:
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

Program 2: To demonstrate when NullPointerException is returned.
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

Akanksha_Rai
Java - util package
Java 8
java-basics
Java-Functional Programming
java-interfaces
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Introduction to Java
Constructors in Java
Exceptions in Java
Generics in Java
Functional Interfaces in Java
Java Programming Examples
Strings in Java
Differences between JDK, JRE and JVM
Abstraction in Java