IntConsumer Interface in Java with Examples

09 Oct, 2018
The IntConsumer 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 int-valued argument but does not return any value.
The lambda expression assigned to an object of IntConsumer type is used to define its accept() which eventually applies the given operation on its only argument.It is similar to using an object of type Consumer<Integer>
The IntConsumer interface consists of the following two functions:
This method accepts one value and performs the operation on its only argument.
Syntax:
void accept(int value)
Parameters: This method takes in only one parameter:
value– the input argument
Returns: This method does not return any value.
Below is the code to illustrate accept() method:
import java.util.function.IntConsumer;  public class GFG {    public static void main(String args[])    {          // Create a IntConsimer Instance        IntConsumer display = a -> System.out.println(a * 10);          // Using accept() method        display.accept(3);    }}
30

It returns a composed IntConsumer wherein the parameterized IntConsumer will be executed after the first one. If the evaluation of either operation throws an error, it is relayed to the caller of the composed operation.
Note: The operation being passed as the argument should be of type IntConsumer.
Syntax:
default IntConsumer andThen(IntConsumer after)
Parameters: This method accepts a parameter after which is the IntConsumer to be applied after the current one.
Return Value: This method returns a composed IntConsumer that first applies the current operation first and then the after operation.
Exception: This method throws NullPointerException if the after operation is null.
Below programs illustrate andThen() method:
Program 1:
import java.util.function.IntConsumer;  public class GFG {    public static void main(String args[])    {          // Create a IntConsimer Instance        IntConsumer display = a -> System.out.println(a * 10);        IntConsumer mul = a -> a *= 10;          // Using andThen() method        IntConsumer composite = mul.andThen(display);        composite.accept(3);    }}
30

Program 2: To demonstrate when NullPointerException is returned.
import java.util.function.IntConsumer;  public class GFG {    public static void main(String args[])    {          try {              // Create a IntConsimer Instance            IntConsumer mul = a -> a *= 10;            IntConsumer composite = mul.andThen(null);            composite.accept(3);        }        catch (Exception e) {            System.out.println("Exception : " + e);        }    }}
Exception : java.lang.NullPointerException

Program 3: To demonstrate how an Exception in the after function is returned and handled.
import java.util.function.IntConsumer;  public class GFG {    public static void main(String args[])    {          try {            // Create a IntConsimer Instance            IntConsumer divide = a -> a = a / (a - 3);            IntConsumer mul = a -> a *= 10;            IntConsumer composite = mul.andThen(divide);            composite.accept(3);        }          catch (Exception e) {            System.out.println("Exception : " + e);        }    }}
Exception : java.lang.ArithmeticException: / by zero

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.
Object Oriented Programming (OOPs) Concept in Java
How to iterate any Map in Java
Interfaces in Java
HashMap in Java with Examples
ArrayList in Java
Multidimensional Arrays in Java
Collections in Java
Set in Java
Initializing a List in Java
Singleton Class in Java